Cum ne protejam siteul de MySql Injection (XSS)

» Internet (provideri, abonamente si servicii)
Post Reply
User avatar
tataieee
Administrator
Posts: 3848
Joined: 17 Sep 2014, 17:52
Nume Real: Alexandru Costin
Nivel cunoştinţe IT: 10
Location: Giurgiu; România
Contact:

14 Dec 2014, 02:00

Chiar daca multi spun ca in PHP/MySql nu exista securitate (sau nu exista atat de multa precum in alte limbaje, ca de ex: Java) tot exista cativa pasi pe care ii putem face pentru a ne imbunatati securitatea aplicatiei.

Iata despre ce am sa vorbesc in acest articol:
  • Curatarea datelor
  • Folosirea anumitor servicii de protectie
  • Evitarea query-urilor SQL vulnerabile.
Curatarea datelor
Never Trust userInput
In primul rand ar trebuii ca tot ce vine de la user sa vie verificat su curatat cu strictete.
Doriti sa preluati informatiile dintr-un camp de tip text?
Folositi htmlspecialcharacters() sau htmlentities.
Doriti sa preluatie un numar dintr-un input?
Folositi is_numeric sau (int) in fata variabilei care trebuie sa fie integer.
Si totusi sa nu uitam de gama de functii filter_var si ctype

Folosirea anumitor servicii de protectie

Puteti folosi si servicii precum ModSecurity si/sau CloudFlare.

Evitarea query-urilor SQL vulnerabile.

Pentru o securitate sporita va recomand sa folositi prepared statements (MySqli pentru incepatori) sau daca nu doriti sa folositi prepared statements incercati sa evitati query-urile nesigure precum:

Code: Select all

$mysqli->query("INSERT INTO users(username, email) VALUES(".$_POST['username'].", ".$_POST['email'].")");
sau

Code: Select all

$mysqli->query("SELECT * FROM users WHERE id = ".$_GET['id']);
Sursa: http://jungla-urbana.com/viewtopic.php?f=45&t=188
*Email: w.tataieee@gmail.com
*PayPal: w.tataieee@yahoo.com
Post Reply

Return to “Internet”