Maison >base de données >tutoriel mysql >Comment puis-je me connecter en toute sécurité et interroger une base de données MySQL en Python ?

Comment puis-je me connecter en toute sécurité et interroger une base de données MySQL en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-05 05:07:10631parcourir

How Can I Securely Connect to and Query a MySQL Database in Python?

Bonnes pratiques et moyen le plus sécurisé de se connecter à MySQL et d'exécuter des requêtes en Python

Éviter l'injection SQL : exécuter des instructions avec des requêtes paramétrées

Bien que la connexion à une base de données MySQL en Python soit vitale, il est tout aussi crucial de protéger votre système contre les attaques par injection SQL. Pour atténuer ces risques, la méthode la plus sûre consiste à utiliser des requêtes paramétrées. Cela implique de remplacer les variables fournies par l'utilisateur dans les instructions SQL par des espaces réservés (par exemple, « %s »).

Exemple et choses à faire et à ne pas faire

c = db.cursor()
max_price = 5
c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s", (max_price,))

Ne fais pas ça :

c.execute("SELECT spam, eggs, sausage FROM breakfast WHERE price < %s" % (max_price,))

Points clés à retenir

  • Utilisez une virgule lors de la définition de l'espace réservé, pas un signe de pourcentage.
  • Ne placez pas l'espace réservé entre guillemets simples.
  • Passez les valeurs sous forme de tuple ou de liste comme deuxième paramètre.
  • Si le paramètre est une chaîne, laissez le pilote gérer le s'échapper.

En adhérant à ces bonnes pratiques, vous pouvez garantir des connexions et des requêtes sécurisées et efficaces à votre base de données MySQL.

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:
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