alut , am vazut ca multa lume se plange ca primesc inject sql .. asa ca voi remedia problema .. ;-)
Sa explicam SQL Injection ! :-)
SQL Injection este o form XSS (Cross Side Scripting) , apoi userii au acces sa controleze , sql server si atunci poate sa faca ce vor ..
Sa remediem problema , este foarte simplu , dar intai hai sa vedem scpriptul periculos !
"Hackeri" cred ca este un login admin , apoi "Hackerul" se logheaza si poate sterge ce vrea ..
OK , hai sa ne uitam in MySQL Query , kand un user incearca sa se logheze ..
SELECT id FROM members WHERE username = ‘StaRGagicu’ AND password = ‘myPassword’ LIMIT 1
Acum incerc sa ma loghez , nici o problema nu ?
Ok , acum cred ca userul se logheaza cu parola lui : ‘ OR username = ‘StaRGagicu
In SQL Query va arata cam asa
SELECT id FROM members WHERE username = ‘StaRGagicu’ AND password = ‘‘ OR username = ‘StaRGagicu’ LIMIT 1
Acuma toti au acces cu numele meu StaRgagicu :-)
Si acuma sa remediem !!
Folosim “addslashes()” in variabele login, si dupa ce va folosii cu loginul nostru , parola variable va fi : \‘ OR username = \‘StaRGagicu
Pentru ca folosim slashes, MySQL nu citeste quotes. Deci problema este fixed!
Asa ca vom folosii addslashes ca aici ..
Acuma urmatoarea optiune “magic_quotes_gp” este optiunea config pentru php . Acesta va baga slashes , imediat dupa ce useru incearca sa intre :-)
Cam atat , nu stiu daca am explicat cat pe intelesul vostru , sper sa fie de ajutor b-)