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

Apakah urlencode() cukup baik untuk menghentikan semua serangan injeksi SQL di tahun 2011

urlencode() tidak memiliki tidak ada hubungannya dengan SQL, sehingga mencegah injeksi SQL sama seperti minyak tanah untuk membuat burger Anda lebih enak. Selain itu, semua yang masuk ke basis data Anda akan berakhir dengan penyandian URL, yang kemudian harus Anda dekode jika Anda ingin melakukan sesuatu yang berguna dengannya setelah mengambil basis data.

Melarikan diri dari kueri Anda, di sisi lain, membantu aplikasi Anda untuk menjaga terhadap injeksi SQL, dan tidak lebih. Itu tidak mengubah data Anda memasukkan pertanyaan Anda; itu hanya melindungi kueri Anda dari dirusak. Itulah ide injeksi SQL, dan itu juga mengapa URL yang mengkodekan data Anda tidak melakukan apa pun untuk melindunginya. Memang, memang ubah apostrof Anda ' ke %27 , menjadikannya tidak berbahaya, tetapi seperti yang disebutkan dalam paragraf di atas, Anda harus mendekode URL kembali menjadi apostrof untuk menggunakannya.

Gunakan alat yang tepat untuk tujuan yang benar. Khususnya di tahun 2011, Anda harus menggunakan pernyataan yang telah disiapkan alih-alih secara manual keluar dari variabel kueri Anda dan menggabungkan string untuk membentuk kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara gabungan yang dipisahkan koma dan bergabung pada sintaks di MySQL?

  2. Tanggal pembaruan + satu tahun di mysql

  3. Bagaimana menangani kesalahan untuk entri duplikat?

  4. Apakah CodeIgniter Datamapper ORM mendukung pernyataan MySQL CASE dalam klausa ORDER BY?

  5. Pisahkan rentang tanggal menjadi minggu yang sesuai