http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development » Curatarea parametrilor PHP
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
Curatarea parametrilor PHP
MesajTrimis: 19/07/2007 16:56 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




Asa cum s-a spus in alt produs permanent este o problema de securitate cu valizarea parametrilor pasati paginilor care pot contine comenzi SQL sau cod JavaScript nedorit. Exista unele functii inglobate in PHP care va ajuta sa curatati parametrii, iar pentru alte lucruri se pot crea functii noi.

O astfel de functie este strip_tags() care elimina tagurile HTML din stringul specificat, sau îngăduie doar unele taguri. De obicei este bine de eliminat < script >, < iframe > sau altele care pot altera pagina HTML. Sau altadata nu sint persmise imagini sau taguri de formatare a textului.

O alta functie utila este htmlspecialchars() care codifica citeva caractere speciale:

'&' (ampersand) devine '&amp;'
'"' (ghilimele) devine '&quot;'
''' (apostrof) devine '''
'<' (mai mic) devine '&lt;'
'>' (mai mare) devine '&gt;'

Mai generala este htmlentities() care este asemanatoare cu functia anterioara cu precizarea ca functioneaza si pentru alte caractere care au codificari HTML, pe linga cele de la htmlspecialchars():

'(c)' devine &copy;
'(r)' devine &reg;
etc.

Mai jos o sa dau un exemplu de functie care elimina dintr-un string anumite caractere. Poate fi folosita pentru a eliminina ';', spatii, apostroafe, ghilimele sau altele. In acest mod SQL injection sau Cross Site Scripting (XSS, injectare de cod JavaScript) nu mai este posibil.

Citat:

function strip_chars($string,$chars) {
preg_match_all("(.)",$chars,$tmp_clean);
return(str_replace($tmp_clean[0],array_fill(0,count($tmp_clean),""),$string));
}



Apoi o sa poata fi folosita:

echo strip_chars("Un text 'oarecare';"," ';");

Ceea ce va afisa: 'Untextoarecare'

Ca regula generala intotdeauna sa fiti atenti la ce se paseaza la o pagina sau este afisat, mai ales cind este vorba de cod HTML sau parametri care pot fi schimbati in mod voit in pagini.
Vezi profilul utilizatorului Trimite mesaj privat

Curatarea parametrilor PHP
 Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.