Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Impedir injeção de SQL em JavaScript/Node.js


A melhor maneira é usar instruções ou consultas preparadas (link para a documentação do NPM mysql módulo:https://github.com/mysqljs/mysql#preparing-queries )
var sql = "SELECT * FROM table WHERE userid = ?";
var inserts = [message.author.id];
sql = mysql.format(sql, inserts);

Se as instruções preparadas não são uma opção (não tenho ideia de por que não seria), a maneira de um pobre homem evitar a injeção de SQL é escapar de todas as entradas fornecidas pelo usuário, conforme descrito aqui:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#MySQL_Escape