Maison > base de données > tutoriel mysql > Comment puis-je sécuriser mon instruction Python UPDATE contre l'injection SQL ?

Comment puis-je sécuriser mon instruction Python UPDATE contre l'injection SQL ?

DDD
Libérer: 2025-01-04 17:57:40
original
773 Les gens l'ont consulté

How Can I Secure My Python UPDATE Statement Against SQL Injection?

Protection contre l'injection SQL en Python

Assurer la sécurité des interactions avec les bases de données est crucial pour prévenir les attaques par injection SQL. Lorsque vous acceptez des entrées utilisateur susceptibles d'être manipulées, il est impératif de mettre en œuvre des mesures de protection côté serveur. Cet article répond à la nécessité de sécuriser une opération UPDATE en Python contre l'injection SQL.

Dans le scénario donné, la méthode setLabel prend les entrées fournies par l'utilisateur et exécute une requête SQL UPDATE sans protection appropriée. Pour atténuer cela, la chaîne d'entrée doit être échappée avant de pouvoir être transmise en toute sécurité au curseur de la base de données.

La bibliothèque sqlite3 de Python fournit des mécanismes intégrés pour empêcher l'injection SQL. Remplacez les variables d'espace réservé par des valeurs correctement citées :

def setLabel( self, userId, refId, label ):
    self._db.cursor().execute(
        """UPDATE items SET label = ? WHERE userId IS ? AND refId IS ?""",
        ( sqlite3.escape(label), userId, refId )
    )
    self._db.commit()
Copier après la connexion

En utilisant la fonction sqlite3.escape, l'étiquette fournie sera correctement échappée, empêchant ainsi tout caractère malveillant ou tentative d'injection.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal