Maison > développement back-end > Tutoriel Python > Comment utiliser en toute sécurité des variables dans les instructions Python SQL ?

Comment utiliser en toute sécurité des variables dans les instructions Python SQL ?

Susan Sarandon
Libérer: 2024-12-30 09:34:16
original
374 Les gens l'ont consulté

How to Safely Use Variables in Python SQL Statements?

Utilisation de variables dans les instructions SQL en Python

Lorsque vous travaillez avec des opérations de base de données en Python, il est souvent nécessaire d'incorporer des variables dans les instructions SQL. Cependant, si ces variables sont directement intégrées dans le texte de la requête, Python les interprétera comme faisant partie de la requête, ce qui peut conduire à des résultats inattendus.

Pour éviter ce problème, les variables doivent être transmises en tant que paramètres au SQL. déclaration. La méthode préférée pour y parvenir consiste à utiliser des espaces réservés dans la requête et à transmettre les valeurs sous forme de tuple :

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1 , var2, var3))

Dans cet exemple :

  • Le texte de la requête contient des espaces réservés (%s) pour représenter l'endroit où les valeurs des variables doivent être insérées.
  • Les valeurs (var1, var2, var3) sont transmises sous forme de tuple à la méthodeexecute().

L'API de la base de données gère l'échappement et la citation appropriés des valeurs, garantissant leur insertion en toute sécurité dans la base de données.

Il est important de noter que l'utilisation d'opérateurs de formatage de chaîne comme (%) pour insérer des variables n'est pas recommandé car cela ne permet pas un échappement approprié, ce qui peut conduire à des vulnérabilités de sécurité telles que des attaques par injection SQL.

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