Maison >base de données >tutoriel mysql >`mysql_real_escape_string()` est-il toujours sécurisé contre l'injection SQL ?

`mysql_real_escape_string()` est-il toujours sécurisé contre l'injection SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-07 14:41:11780parcourir

Is `mysql_real_escape_string()` Still Secure Against SQL Injection?

mysql_real_escape_string() est-il une fonction cassée ?

Des inquiétudes ont été soulevées quant à l'efficacité de mysql_real_escape_string() pour atténuer les vulnérabilités d'injection SQL, malgré bon usage. Les sceptiques citent des articles désuets comme preuve de ses défauts.

Mysql_real_escape_string() peut-il toujours être utilisé ?

Pour répondre à cette question, nous examinons la documentation de l'API MySQL C pour mysql_real_escape_string():

"Si vous devez modifier le jeu de caractères de la connexion, utilisez mysql_set_character_set() au lieu d'exécuter SET NAMES. la documentation, mysql_set_character_set() affecte le jeu de caractères utilisé par mysql_real_escape_string(), contrairement à SET NAMES. Par conséquent, vous devez utiliser mysql_set_charset() pour modifier l'encodage dans les applications PHP.

Conclusion :

mysql_real_escape_string()
Bien que mysql_real_escape_string() ne soit pas complètement cassé, il est impératif de utilisez-le en conjonction avec mysql_set_character_set() pour garantir une gestion correcte du jeu de caractères et empêcher une éventuelle injection SQL vulnérabilités.

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