Maison > base de données > tutoriel mysql > Comment insérer en toute sécurité les variables dans les requêtes SQL à l'aide de Python?

Comment insérer en toute sécurité les variables dans les requêtes SQL à l'aide de Python?

Patricia Arquette
Libérer: 2025-01-25 15:32:11
original
309 Les gens l'ont consulté

How to Safely Insert Variables into SQL Queries Using Python?

Insérez la variable dans Python pour insérer des variables dans SQL Query

Lors du traitement des requêtes de base de données dans Python, des variables sont généralement requises dans l'instruction de requête. Cependant, il doit être exploité de manière à prévenir les erreurs de grammaire ou les vulnérabilités de sécurité.

Considérons le code Python suivant:

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Copier après la connexion
Dans ce code,

est un entier, var1 et var2 sont une chaîne. Cependant, lorsque Python essaie d'inclure le nom var3, var1 et var2 dans le cadre du texte de la requête lui-même, il y aura des problèmes, ce qui entraînera une requête invalide. var3

Afin de résoudre ce problème, vous pouvez utiliser le mécanisme de remplacement fourni par l'API de la base de données. Ce qui suit est la méthode de réécriture du code pour utiliser le symbole occupé:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
Copier après la connexion
dans ce code amélioré:

    Il représente un espace réservé pour remplir la recharge.
  • %s est un tuple contenant une valeur d'insertion.
  • (var1, var2, var3) En transmettant la valeur en tant que méta-groupe, l'API de la base de données traitera les transferts et références variables nécessaires pour assurer la compatibilité avec la base de données et empêcher les risques de sécurité potentiels.
Veuillez noter que pour un seul paramètre, vous devez avoir un groupe de réglage avec Tail Comma:

De plus, évitez d'utiliser le format de format de chaîne (%) pour insérer des variables, car il peut provoquer des vulnérabilités de sécurité et ne pas le prendre en charge.

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!

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