Maison >base de données >tutoriel mysql >Comment puis-je exécuter en toute sécurité des requêtes MySQL en Python pour empêcher l'injection SQL ?
Connectivité MySQL sécurisée et exécution des requêtes en Python
Dans le domaine des applications Web, garantir une gestion sécurisée des données est primordiale. Lorsque vous travaillez avec MySQL, une préoccupation courante est d'empêcher les attaques par injection SQL. Pour résoudre ce problème, il est essentiel d'employer les meilleures pratiques qui protègent votre base de données contre les manipulations malveillantes.
L'une de ces approches consiste à utiliser des instructions préparées avec des marqueurs de paramètres (« %s »). En utilisant cette méthode, vous pouvez insérer des variables dans les requêtes tout en préservant la sécurité. Voici comment :
cursor = db.cursor() max_price = 5 statement = "SELECT spam, eggs, sausage FROM breakfast WHERE price < %s"
cursor.execute(statement, (max_price,))
Éviter la substitution directe :
Il est important d'éviter de remplacer directement des variables dans les requêtes en utilisant le formatage de chaîne, car cela peut conduire à aux vulnérabilités d’injection SQL. Au lieu de cela, utilisez strictement des marqueurs de paramètres et liez des variables à l'instruction préparée.
Par exemple, n'utilisez pas de substitution de chaîne comme :
cursor.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s" % (max_price,))
Considérations supplémentaires :
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!