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

mysql_escape_string seluruh array posting?

Saya akan menggunakan array_walk() fungsi. Ini lebih cocok karena memodifikasi POST superglobal sehingga penggunaan di masa mendatang disanitasi.

array_walk_recursive( $_POST, 'mysql_real_escape_string' );

Namun, pastikan Anda tidak mengandalkan baris ini untuk sepenuhnya melindungi database Anda dari serangan. Perlindungan terbaik adalah membatasi set karakter untuk bidang tertentu. Mantan. Email tidak memiliki tanda kutip (jadi hanya bolehkan huruf, angka, @, tanda hubung, dll.) dan nama tidak memiliki tanda kurung (jadi hanya izinkan huruf dan karakter khusus yang dipilih)

EDIT: Mengubah array_walk() ke array_walk_recursive() terima kasih atas saran @Johan. Alat peraga untuknya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pertanyaan SQL cepat! Urutkan berdasarkan kemunculan paling banyak dari suatu atribut

  2. MySQL InnoDB tidak melepaskan ruang disk setelah menghapus baris data dari tabel

  3. Menghitung Contoh Nilai Unik di Bidang

  4. Beberapa pernyataan pilih dalam permintaan tunggal

  5. Tidak dapat membuka dan mengunci tabel hak istimewa:Tabel 'mysql.user' tidak ada