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

bind_param() hanya diperlukan pada nilai yang dimasukkan pengguna atau semuanya?

Secara teknis Anda tidak berisiko jika tidak menyiapkan data yang tidak berasal dari input pengguna. Namun, sangat disarankan untuk melakukannya karena beberapa alasan:

  1. Jika Anda lupa menyiapkan data masukan pengguna di suatu tempat, ada kemungkinan pengguna ini memasukkan sesuatu yang lain ke dalam baris data yang tidak Anda harapkan sebagai masukan pengguna.
  2. Ini adalah praktik yang baik untuk mengulangi apa yang Anda lakukan untuk menjaga keamanan server Anda. Jika Anda mulai mencampurnya, kemungkinan besar Anda akan lupa menyiapkan data di tempat yang sebenarnya diperlukan.
  3. Menyiapkan data Anda bukan hanya untuk mencegah injeksi SQL dari penyerang. Ini juga akan mencegah beberapa masalah basis data jika Anda secara tidak sengaja membuat bug dalam kode Anda. Misalnya:

Di suatu tempat dalam kode Anda, Anda memiliki sistem log yang menambahkan errorlog ke database Anda. Stringnya adalah:


String ini dibuat oleh skrip Anda. Oleh karena itu Anda tidak mempersiapkannya. Namun tanda kutip di dalam string ini akan menyebabkan kesalahan pada database Anda yang sebenarnya dapat dicegah jika Anda tetap menyiapkannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL SELECT – Didaftarkan oleh DBMS

  2. MySQL Workbench - Cara menyinkronkan Diagram EER

  3. Cara Mengenkripsi Lalu Lintas Database Cloud Hibrida

  4. Rails:Paksa string kosong ke NULL di database

  5. bertahan Java LocalDate di MySQL