sql >> Databasteknik >  >> RDS >> Mysql

Förhindra SQL-injektion i JavaScript / Node.js

Det bästa sättet är att använda förberedda uttalanden eller frågor (länk till dokumentation för NPM mysql modul:https://github.com/mysqljs/mysql#preparing-queries )

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

Om förberedda uttalanden inte är ett alternativ (jag har ingen aning om varför det inte skulle vara det), är en fattig mans sätt att förhindra SQL-injektion att undvika all indata från användaren som beskrivs här:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#MySQL_Escaping



  1. MySQL ERROR 1290 (HY000) --secure-file-priv option

  2. SQL - Hitta sats som infogar specifika värden

  3. date_trunc 5 minuters intervall i PostgreSQL

  4. Konvertera en juliansk dag till ett datum i PostgreSQL