Maison >interface Web >js tutoriel >node-mysql offre-t-il une protection de type instruction préparée contre les injections SQL ?
Protéger votre application Node.js contre les injections SQL
Question : Node.js propose un module appelé node- mysql pour se connecter aux bases de données MySQL. Cependant, fournit-il une fonctionnalité similaire aux instructions préparées de PHP pour empêcher les injections SQL ?
Réponse : Oui, la bibliothèque node-mysql nettoie automatiquement les entrées de l'utilisateur lorsque vous utilisez des espaces réservés et des valeurs comme vous démontré dans le code fourni.
Supplémentaire Détails :
Votre code utilise le module Sanitizer pour la prévention des scripts intersites (XSS). De plus, vous utilisez la syntaxe de requête paramétrée de node-mysql, qui fait appel à la fonction connection.escape() en interne pour les caractères d'échappement.
Comme expliqué dans la documentation de node-mysql (https://github.com /felixge/node-mysql#escaping-query-values), cette approche empêche efficacement les vulnérabilités d'injection SQL. La bibliothèque échappe automatiquement toutes les données fournies par l'utilisateur avant d'exécuter la requête.
Recommandation :
Étant donné que node-mysql fournit déjà un échappement automatique, vous n'avez pas besoin de passer à node-mysql-native, qui prend également en charge les fichiers préparés
Conclusion :
Grâce à la fonctionnalité d'échappement automatique de node-mysql, votre application Node.js peut se protéger efficacement contre les injections SQL sans avoir besoin d'instructions préparées comme en PHP. .
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!