Mysql
 sql >> Base de données >  >> RDS >> Mysql

Empêcher l'injection SQL dans JavaScript / Node.js

Le meilleur moyen est d'utiliser des instructions ou des requêtes préparées (lien vers la documentation pour NPM mysql module :https://github.com/mysqljs/mysql#preparing-queries )

var sql = "SELECT * FROM table WHERE userid = ?";
var inserts = [message.author.id];
sql = mysql.format(sql, inserts);

Si les instructions préparées ne sont pas une option (je n'ai aucune idée pourquoi ce ne serait pas le cas), le moyen d'un pauvre homme d'empêcher l'injection SQL est d'échapper à toutes les entrées fournies par l'utilisateur comme décrit ici :https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#MySQL_Escaping