Čiščenje inputa in obremenitev strežnika

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 ?

9 odgovorov

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

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

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...

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

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()...

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

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

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

hexer, escapas tudi \ znak :)

takole:

str_replace("\\", "", $str);