Sécuriser les requêtes MySQL en Python pour empêcher l'injection SQL
Lors de l'interrogation de bases de données MySQL à partir de Python, il est crucial d'empêcher les attaques par injection SQL. Cela implique de s'assurer que les variables fournies par l'utilisateur n'interfèrent pas avec la structure de la requête.
Exécutez des requêtes paramétrées à l'aide de la fonction "execute" avec %s comme espaces réservés pour les variables. Transmettez les variables sous forme de liste ou de tuple comme deuxième paramètre à exécuter.
c = db.cursor() max_price = 5 c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
Évitez la substitution directe de chaîne en utilisant %. Utilisez plutôt une virgule comme espace réservé :
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
Ne placez pas l'espace réservé entre guillemets simples si le paramètre est une chaîne :
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))
En suivant ces bonnes pratiques, vous pouvez réduisez le risque d'attaques par injection SQL et assurez la sécurité de vos connexions MySQL en Python.
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!