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

Apakah saya harus waspada terhadap injeksi SQL jika saya menggunakan dropdown?

Ya, Anda perlu melindunginya dari ini.

Mari saya tunjukkan alasannya, menggunakan konsol pengembang Firefox:

Jika Anda tidak membersihkan data ini, database Anda akan dimusnahkan. (Ini mungkin bukan pernyataan SQL yang benar-benar valid, tapi saya harap saya mengerti maksud saya.)

Hanya karena Anda telah membatasi opsi apa yang tersedia di dropdown Anda tidak berarti Anda telah membatasi data yang dapat saya kirimkan ke server Anda.

Jika Anda mencoba membatasi perilaku penggunaan ini lebih lanjut di halaman Anda, opsi saya termasuk menonaktifkan perilaku itu, atau hanya menulis permintaan HTTP khusus ke server Anda yang tetap meniru pengiriman formulir ini. Ada alat bernama curl digunakan untuk hal itu, dan saya berpikir perintah untuk mengirimkan injeksi SQL ini akan terlihat seperti ini:

curl --data "size=%27%29%3B%20DROP%20TABLE%20*%3B%20--"  http://www.example.com/profile/save

(Ini mungkin bukan perintah curl yang benar-benar valid, tapi sekali lagi, saya harap saya mengerti maksud saya.)

Jadi, saya tegaskan kembali:

JANGAN PERNAH mempercayai masukan pengguna. SELALU lindungi diri Anda.

Jangan menganggap input pengguna apa pun pernah aman. Ini berpotensi tidak aman bahkan jika itu datang melalui beberapa cara selain formulir. Tidak ada yang cukup dapat dipercaya untuk melupakan melindungi diri Anda dari injeksi SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. File kunci MySQL salah untuk tabel tmp saat membuat banyak gabungan

  2. Tidak digunakan lagi:mysql_connect()

  3. Replikasi Asynchronous Failover Otomatis di MySQL 8.0.22

  4. UnicodeEncodeError:codec 'latin-1' tidak dapat menyandikan karakter

  5. Sinkronisasi database MySQL antara dua database