Maison >développement back-end >Tutoriel Python >Comment les requêtes paramétrées peuvent-elles empêcher l'injection SQL dans MySQL ?
Éviter les attaques par injection SQL avec des requêtes paramétrées dans MySQL
Dans MySQL, il est essentiel d'utiliser des requêtes paramétrées lors de l'insertion de données pour éviter les failles de sécurité. L'interpolation de chaînes, comme illustré dans l'extrait de code fourni, est sujette aux attaques par injection SQL car elle n'échappe pas correctement aux paramètres d'entrée.
La syntaxe correcte pour les requêtes paramétrées dans MySQL utilisant le module MySQLdb est la suivante :
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s) """, (var1, var2, var3, var4, var5, var6))
Dans cette syntaxe, des espaces réservés (%s) sont utilisés à la place des valeurs de variables. Le tuple (var1, var2, ..., var6) contient les valeurs réelles à insérer.
En utilisant des requêtes paramétrées, vous garantissez l'échappement correct de tous les paramètres d'entrée, empêchant ainsi les acteurs malveillants d'injecter du code SQL nuisible. dans votre base de données et en exploitant les vulnérabilités potentielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!