Maison > base de données > tutoriel mysql > Comment puis-je interroger MySQL en toute sécurité avec des chaînes JavaScript dans Node.js ?

Comment puis-je interroger MySQL en toute sécurité avec des chaînes JavaScript dans Node.js ?

Patricia Arquette
Libérer: 2025-01-03 19:13:42
original
930 Les gens l'ont consulté

How Can I Safely Query MySQL with JavaScript Strings in Node.js?

NodeJS interrogeant MySQL avec des chaînes JavaScript

Lorsque vous tentez de transmettre des chaînes JavaScript contenant des adresses e-mail aux serveurs NodeJS pour les requêtes de base de données MySQL, les développeurs peuvent rencontrer difficultés dues à la présence de caractères spéciaux. Pour garantir une bonne gestion de ces chaînes, il est crucial de les adapter pour la compatibilité SQL.

En PHP, la fonction mysql_real_escape_string() apporte une solution en ajoutant des barres obliques inverses avant des caractères spécifiques tels que x00, n, r, , ', " et x1a. Cela évite que ces caractères ne provoquent des problèmes dans les requêtes SQL.

Pour NodeJS, une fonctionnalité similaire peut être implémentée comme suit :

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; // prepends a backslash to backslash, percent,
                                  // and double/single quotes
            default:
                return char;
        }
    });
}
Copier après la connexion

Cette fonction remplace les caractères spéciaux par des versions échappées, garantissant la compatibilité avec les requêtes SQL. Notez que cette solution échappe également aux tabulations, aux espaces arrière et aux caractères « % », ce qui la rend également adaptée aux requêtes LIKE. .

Pour plus d'informations sur l'échappement de chaîne SQL, reportez-vous à la discussion sur [OWASP](https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload).

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal