Maison >base de données >tutoriel mysql >L'échappement des guillemets simples dans les requêtes SQL est-il une protection fiable contre les attaques par injection ?
Se défendre contre l'injection SQL : évaluer l'efficacité des stratégies d'échappement de données
Bien que les requêtes SQL paramétrées soient considérées comme le meilleur moyen de nettoyer les entrées utilisateur, certains développeurs remettent en question l'efficacité des techniques de base de nettoyage des entrées, telles que l'échappement des guillemets simples et l'environnement des entrées utilisateur avec des guillemets simples.
Au cours de la discussion, un développeur a montré le code qu'il a utilisé pour la vérification des entrées :
<code>sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'"</code>
Ils pensent que cette méthode élimine la possibilité d'attaques par injection SQL en empêchant les utilisateurs de terminer les chaînes et d'exécuter d'autres commandes. Cependant, certains experts mettent en garde contre l’utilisation de cette méthode en raison de ses défauts inhérents.
Premièrement, la validation des entrées basée sur une liste noire est intrinsèquement problématique. Une approche plus efficace consiste à définir une liste blanche de valeurs et de formats acceptables pour garantir que seules les entrées valides sont traitées.
Des documents de recherche sur ce sujet, comme celui de https://www.imperva.com/docs/WP_SQL_Injection_Protection_LK.pdf, fournissent la preuve que même l'échappement des citations peut être contourné, soulignant davantage les limites de base des techniques de nettoyage.
Les méthodes recommandées de prévention des injections SQL incluent :
Bien que la technique consistant à échapper aux guillemets simples puisse sembler adéquate à première vue, elle n'est finalement pas fiable et devrait être remplacée par une stratégie de sécurité plus robuste et plus complète pour prévenir efficacement les 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!