Comment créer en toute sécurité des clauses MySQL IN avec des listes en Python ?

Patricia Arquette
Libérer: 2024-11-15 05:08:02
original
239 Les gens l'ont consulté

How to Safely Create MySQL IN Clauses with Lists in Python?

Création de clauses MySQL IN sécurisées avec des listes

Lorsque vous travaillez avec des bases de données MySQL et Python, il peut être utile d'imploser une liste à utiliser dans une clause IN. Cependant, il est essentiel de le faire en toute sécurité pour éviter les vulnérabilités d'injection SQL.

Au lieu de construire manuellement une chaîne contenant la liste de valeurs, la méthode préférée consiste à utiliser le mécanisme des paramètres de requête. Cela vous permet de transmettre la liste directement au pilote de base de données sans avoir à gérer de guillemets ou d'échappement.

Voici comment y parvenir :

format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (" + format_strings + ")", tuple(list_of_ids))
Copier après la connexion

En utilisant cette méthode, vous pouvez évitez l'injection SQL en permettant à MySQL de gérer le paramétrage de la requête. Les données seront insérées directement dans la requête sans aucun prétraitement, garantissant à la fois sécurité et efficacité.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal