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

Mencegah Injeksi SQL dalam SQL dinamis

Ahahah, itu luar biasa!
Akhirnya saya bisa mengerti apa apakah maksud teman ini di bawah "sql dinamis" -nya. Tidak heran karena disamarkan dengan sempurna dan terlihat seperti SQL biasa pada pandangan pertama dan kedua!

Ini dia jawabannya:

Jangan lakukan itu. Pernah.

Gagasan Anda tentang SQL "dinamis" pada dasarnya salah. Tidak ada yang melakukannya dengan cara ini.

Saya tidak tahu tugas khusus Anda, tetapi solusi Anda tampaknya salah. Dan pasti ada cara yang waras untuk melakukannya. Cukup ikuti aturan sederhana ini:

  • singkirkan meta_table
  • menyingkirkan kueri SQL yang disimpan dalam database
  • tulis (atau buat) semua kueri Anda di aplikasi hanya dari dua sumber:
    • SQL yang di-hardcode, sudah ditulis sebelumnya dalam kode Anda
    • pernyataan yang disiapkan untuk semua bagian variabel

dan pastikan semua SQL Anda benar-benar aman




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MASUKKAN tanggal atau waktu saat ini ke MySQL

  2. Bagaimana cara menggabungkan dua kueri hitungan ke rasionya?

  3. Nilai yang salah dikembalikan dari float mysql

  4. Bagaimana saya bisa membuat MySQL mencatat Acara yang dijadwalkan?

  5. Bagaimana cara mengubah skrip mssql ke mysql