Maison >base de données >tutoriel mysql >Comment puis-je utiliser en toute sécurité la manipulation de chaînes avec des caractères génériques SQL en Python ?

Comment puis-je utiliser en toute sécurité la manipulation de chaînes avec des caractères génériques SQL en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 18:00:22790parcourir

How Can I Securely Use String Manipulation with SQL Wildcards in Python?

Manipulation de chaînes pour les caractères génériques SQL en Python

Lorsque vous rencontrez des difficultés lors de l'utilisation du formatage de chaîne pour les requêtes SQL avec des caractères génériques en Python, il est essentiel de donner la priorité à la sécurité en employant des requêtes paramétrées. Cela empêche efficacement les attaques par injection SQL.

Considérez l'alternative sécurisée suivante :

curs.execute("""SELECT tag.userId, count(user.id) as totalRows 
                  FROM user 
            INNER JOIN tag ON user.id = tag.userId 
                 WHERE user.username LIKE %s""", ('%' + query + '%',))

Dans cet exemple, la requête et tous les paramètres supplémentaires sont transmis à la fonction exécuter() en tant qu'arguments distincts. Cette approche garantit une gestion correcte des chaînes et empêche les acteurs malveillants d'exploiter les vulnérabilités du formatage des chaînes.

De plus, vous devez vous méfier des tentatives d'échappement manuelles des caractères génériques, car cela peut introduire d'autres problèmes potentiels. Au lieu de cela, comptez sur des requêtes paramétrées pour gérer la manipulation des chaînes de manière sécurisée et efficace.

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