Haoheureux
http://blog.csdn.net/Haohappy2004
L'attaque par injection SQL est la méthode la plus couramment utilisée par les pirates pour attaquer des sites Web. Si votre site n'utilise pas de validation stricte des entrées utilisateur, il est très vulnérable aux attaques par injection SQL. Les attaques par injection SQL sont généralement mises en œuvre en soumettant des données incorrectes ou des instructions de requête à la base de données du site, ce qui peut entraîner l'exposition, la modification ou la suppression des enregistrements de la base de données. Parlons de la manière dont les attaques par injection SQL sont mises en œuvre et de la manière de les empêcher.
Regardez cet exemple :
// entrée supposée
$name = "ilia'; DELETE FROM utilisateurs;";
mysql_query("SELECT * FROM utilisateurs WHERE nom='{$nom}'");
Il est évident que la dernière commande exécutée par la base de données est :
SELECT * FROM utilisateurs WHERE nom=ilia FROM utilisateurs;
Cela a eu des conséquences désastreuses pour la base de données : tous les enregistrements ont été supprimés.
Mais si la base de données que vous utilisez est MySQL, heureusement, la fonction mysql_query() ne vous permet pas d'effectuer directement de telles opérations (plusieurs opérations d'instructions ne peuvent pas être effectuées sur une seule ligne), vous pouvez donc être rassuré. Si la base de données que vous utilisez est SQLite ou PostgreSQL et prend en charge de telles instructions, vous ferez face à un désastre.