|
©║º•DarkZone•º║® Powered by • iLLuSioN •
|
Subiectul anterior :: Subiectul următor |
Autor |
Mesaj |
m|nu Vizitator
|
Trimis: Lun Dec 24, 2007 12:22 pm Titlul subiectului: [PHP]Curatarea parametrilor PHP |
|
|
Asa cum s-a spus in alt articol 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 permite 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 for****re a textului.
O alta functie utila este htmlspecialchars() care codifica citeva caractere speciale:
'&' (ampersand) devine '&'
'"' (ghilimele) devine '"'
''' (apostrof) devine '''
'<' (mai mic) devine '<'
'>' (mai mare) devine '>'
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 ©
'(r)' devine ®
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.
Quote
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. |
|
Sus |
|
|
|
|
Nu puteți crea un subiect nou în acest forum Nu puteți răspunde în subiectele acestui forum Nu puteți modifica mesajele proprii din acest forum Nu puteți șterge mesajele proprii din acest forum Nu puteți vota în chestionarele din acest forum
|
Powered by phpBB © 2001, 2005 phpBB Group Varianta în limba română: Romanian phpBB online community
|