Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cegah Injeksi SQL di JavaScript / Node.js

Cara terbaik adalah dengan menggunakan pernyataan atau kueri yang disiapkan (tautan ke dokumentasi untuk 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);

Jika pernyataan yang disiapkan bukan merupakan pilihan (saya tidak tahu mengapa itu tidak terjadi), cara orang miskin untuk mencegah injeksi SQL adalah dengan menghindari semua input yang disediakan pengguna seperti yang dijelaskan di sini:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#MySQL_Escaping



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengambil baris RAND() tanpa ORDER BY RAND() hanya dalam satu kueri

  2. Batasi hasil dari tabel yang digabungkan menjadi satu baris

  3. Eksekusi prosedur tersimpan yang disinkronkan di mysql

  4. Mengapa MySQL tidak mendukung presisi milidetik/mikrodetik?

  5. Sisipkan MySQL ke dalam 2 tabel