Jump to content

[PHP-Tutorial] Cum sa securizezi campurile text


SkiizO
 Share

Recommended Posts

Grad tutorial: incepator mediu avansat

 

Foarte multe persoane intalnesc in ziua de azi probleme de securitate de genul XSS sau SQL Inject datorita campurilor de tip text din HTML.

Un exemplu ar putea fi o pagina de schimbare detalii la profil. Iau exemplu un camp "avatar" (exact cum mi s-a intamplat si mie).

 

In cazul in care campul nu este securizat dupa ce se transmit datele, pot aparea probleme de genul SQL Dump sau chiar Deface (in cele mai dese cazuri).

Chiar in aceasta dimineata am fost victima unui atac XSS printr-o chestie de gen, ceea ce m-a motivat sa scriu acest articol.

 

Sa spunem ca o persoana intra pe respectiva pagina si campul "avatar" il completeaza cu un cod JS ce poate contine un worm ce infecteaza toate persoanele ce intra pe respectiva pagina dupa el.

Chiar si in acest caz, ce se poate face pentru a preveni aceste atacuri?

 

Exista o singura solutie, si anume securitatea PHP. Cum poti face acest lucru?

In primul rand, vei incepe prin setarea unei variabile ce sterge toate tagurile de gen < sau > din campul respectiv dupa trimiterea datelor. Cum poti face asta?

$_POST['avatar']=strip_tags($_POST['avatar']);

In cazul meu, $_POST['avatar'] este valoarea campului dupa trimitere.

 

Dar asta nu inseamna ca totul este gata. Ce mai trebuie facut? Toate simbolurile ramase (absolut toate) trebuiesc transformate in coduri HTML. Exemplu: daca valoarea contine intr-o pozitie simbolul &, acesta va fi transformat in  

$_POST['avatar']=htmlspecialchars($_POST['avatar'], ENT_QUOTES);

 

Codul final arata:

$_POST['avatar']=strip_tags($_POST['avatar']);
$_POST['avatar']=htmlspecialchars($_POST['avatar'], ENT_QUOTES);

 

Unde se plaseaza aceste 2 randuri?

Dupa cum ar trebui sa va ganditi logic atunci cand faceti un asemenea script, aceste 2 randuri trebuiesc plasate imediat dupa ce se verifica daca datele sunt trimise.

 

 

De asemenea, exista mult mai multe functii dar acestea sunt cele mai importante.

 

Voi reveni si cu alte tutoriale, chiar si de tip avansat. Sper sa le apreciati!

Edited by SkiizO Capone
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.