Maison >base de données >tutoriel mysql >Comment échapper en toute sécurité aux chaînes JavaScript pour les requêtes MySQL dans NodeJS ?
Adaptation des chaînes JavaScript pour les requêtes MySQL dans NodeJS
La sauvegarde de l'intégrité des données transmises de JavaScript à NodeJS puis à MySQL est cruciale. Bien que le texte standard puisse s'intégrer de manière transparente, les adresses e-mail nécessitent une approche spécialisée pour être rendues compatibles avec SQL.
La fonction mysql_real_escape_string() de MySQL, conçue pour protéger contre les vulnérabilités d'injection SQL, fournit un cadre précieux pour préparer les chaînes JavaScript. Cette fonctionnalité garantit l'insertion sécurisée de caractères spéciaux ( , x08, x09, x1a, n, r, ', ", , %) en ajoutant des barres obliques inverses au début.
Pour reproduire ce comportement en JavaScript, vous pouvez utiliser un function :
function mysql_real_escape_string(str) { return str.replace(/[\x08\x09\x1a\n\r"'\\%]/g, function(char) { switch (char) { case "": return "\0"; case "\x08": return "\b"; case "\x09": return "\t"; case "\x1a": return "\z"; case "\n": return "\n"; case "\r": return "\r"; case "\"": case "'": case "\": case "%": return "\"+char; default: return char; } }); }
L'application de cette fonction vous permet d'échapper efficacement les caractères spéciaux dans les chaînes JavaScript avant de les transmettre à NodeJS pour l'insertion SQL, protection contre les attaques potentielles par injection SQL. De plus, la prise en charge étendue des tabulations d'échappement, des espaces arrière et des "%" améliore la robustesse des requêtes LIKE, conformément aux directives de sécurité de l'OWASP.
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!