Comprendre la différence : mysql_real_escape_string() vs addlashes()
Alors que mysql_real_escape_string() et addlashes() sont utilisés pour échapper aux spéciaux caractères dans les chaînes pour empêcher les attaques par injection SQL, il existe des différences clés entre les deux fonctions.
mysql_real_escape_string()
Spécialement conçue pour la base de données MySQL, cette fonction ajoute des barres obliques à les caractères suivants :
addslashes()
D'autre part, addslashes() n'ajoute des barres obliques qu'à trois caractères :
Implications en matière de sécurité
Applications Web qui s'appuient uniquement sur addlashes() pour la validation des entrées peut toujours être vulnérable aux attaques par injection SQL. En effet, addlashes() ne protège pas contre tous les caractères pouvant être utilisés dans une attaque par injection, à savoir :
Recommandation
Pour une sécurité optimale, il est recommandé d'éviter d'utiliser à la fois mysql_real_escape_string() et addlashes() et d'utiliser à la place des requêtes paramétrées ou préparées déclarations. Ces méthodes vous permettent de lier les entrées de l'utilisateur à la requête sans avoir besoin d'un échappement manuel, ce qui est plus sûr et plus 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!