Pagina de start a forumului ©║º•DarkZone•º║® ©║º•DarkZone•º║®
Powered by • iLLuSioN •
 
 FAQFAQ   CăutareCăutare   MembriMembri   GrupuriGrupuri   ÎnregistrareÎnregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

[PHP]Curatarea parametrilor PHP

 
Crează un subiect nou   Răspunde la subiect    Pagina de start a forumului ©║º•DarkZone•º║® -> Web Design
Subiectul anterior :: Subiectul următor  
Autor Mesaj
m|nu
Vizitator





MesajTrimis: Lun Dec 24, 2007 12:22 pm    Titlul subiectului: [PHP]Curatarea parametrilor PHP Răspunde cu citat (quote)

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
Afișează mesajele pentru a le previzualiza:   
Crează un subiect nou   Răspunde la subiect    Pagina de start a forumului ©║º•DarkZone•º║® -> Web Design Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
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