Čiščenje inputa in obremenitev strežnika
 
HeXeR 10. apr 2007 15:04:32 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#1

Tako, zanima me če bi taka koda ob velikem obisku preobremenejevala strežnik:


$input = $_POST['your_text'];
$url_a = str_replace("'", "", $input);
$url_b = str_replace('"', "", $url_a);
$url_c = str_replace("<", "", $url_b);
$url_d = str_replace(">", "", $url_c);
$output = str_replace("\ ", "", $url_d);
$clean_your_text = $output;

in ali je kak boljši način da odstranič php, html ... kodo in podobno svi*jarijo ki ti jo uporabniki našopajo v forme in $_GET ? Pa pri tej kodi je še en problem ... kako odstraniti \ ?, v predzadnji vrstici bi moralo biti "\ ", vendar vemo zakaj ne gre tako, prav tako nemorem uporabiti '\' ... kak predlog ?


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 10. apr 2007 15:04:35 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#2

htmlspecialchars() mogoce? ni mi pa povsem jasno, kaj bi rad sploh dosegel...


všeč(0) ni všeč(0) spam(0)
 
HeXeR 10. apr 2007 15:04:36 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#3

Rad bi odstrani <>" in '.



Edit: Rad bi odstranil še \ ker mi php sam spremeni " v \" pa če potem odstranim " dobim kup \\ za brezveze, če še to odstranim dobim "" (nič), oz. vnos brez teh znakov, vendar kako odstraniti \ ? Tako str_replace("\", ... ne gre ... :P


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 10. apr 2007 16:04:28 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#4

magicquotesgpc = off



Zadeva je, vsaj kar se mene tice, povsem neuporabna, naredi vec nevsecnosti, kot koristi. Pazit moras seveda edino to, da escapas vse stringe, preden jih zapisujes v mysql, oziroma katerokoli bazo pac ze uporabljas, v nasprotnem primeru seveda tvegas SQL injection.



znake <, >, " in ' pa najlazje pretvoris v html entities s funkcijo htmlspecialchars(), ali bi se jih rad povsem resil? Ni mi cisto jasen razlog, zakaj bi se tega rad resil...


všeč(0) ni všeč(0) spam(0)
 
HeXeR 10. apr 2007 17:04:00 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#5

SQL injection pa zato da mi gosti v komentarje nebi tlačili htmlja ...


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 10. apr 2007 17:04:05 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#6

SQL injectiona se resis, ce escapas stringe, a ne? Prav enostavno... V tvojem primeru so sicer ze escapani, ce uporabljas magicquotesgpc = on, torej znakov " in ' ne rabis ven brisat...



Ce pa ukines samo znake < in > bos pa se vedno videl v komentarjih dele HTML kode, le brez teh znakov... Mogoce bi bilo zate najboljse, da uporabis v ta namen funkcijo strip_tags()...


všeč(0) ni všeč(0) spam(0)
 
HeXeR 10. apr 2007 17:04:37 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#7

Jah, komentarje bom tako moral brisat, ker vseh kletvic, kod linkov pa kaj vem česa še vse nemorem zajeti, meni gre predvsem za to da se po enem komentarju ne pokvari oblika, tako da načeloma koda služi namenu ... :D


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 10. apr 2007 17:04:46 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#8

Ce pa sluzi namenu, kaj pa sprasujes potem? Nc ne stekam vec :)


všeč(0) ni všeč(0) spam(0)
 
HeXeR 10. apr 2007 18:04:36 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#9

Hehe :D, končno ... drugače pa ... kako odstraniti \ z str_replace če se sploh da ?


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
Vini 10. apr 2007 20:04:59 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#10

hexer, escapas tudi \ znak :)



takole:


str_replace("\\", "", $str);
všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se