Mysql
 sql >> Database >  >> RDS >> Mysql

Iniezioni SQL in ADOdb e sicurezza generale del sito web

Gli attacchi SQL injection si verificano quando input dell'utente è codificato in modo errato. In genere, l'input dell'utente è costituito da alcuni dati che l'utente invia con la sua query, ovvero valori nel $_GET , $_POST , $_COOKIE , $_REQUEST o $_SERVER matrici. Tuttavia, l'input dell'utente può provenire anche da una varietà di altre fonti, come socket, siti Web remoti, file, ecc. Pertanto, dovresti davvero trattare tutto tranne le costanti (come 'foobar' ) come input dell'utente .

Nel codice che hai pubblicato, mysql_real_escape_string viene utilizzato per codificare (=escape) gli input dell'utente. Il codice è quindi corretto, ovvero non consente attacchi SQL injection.

Nota che è molto facile dimenticare la chiamata a mysql_real_escape_string - e una volta è sufficiente per un abile attaccante! Pertanto, potresti voler utilizzare il moderno PDO con dichiarazioni preparate invece di addb.