Mysql
 sql >> Database >  >> RDS >> Mysql

Impedisci SQL injection in JavaScript/Node.js

Il modo migliore è utilizzare istruzioni o query preparate (collegamento alla documentazione per NPM mysql modulo: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 le istruzioni preparate non sono un'opzione (non ho idea del perché non lo sarebbe), un modo povero per impedire l'iniezione di SQL è sfuggire a tutti gli input forniti dall'utente come descritto qui:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#MySQL_Escaping