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

Apa sanitasi yang cukup untuk sebuah URL

"Sanitasi yang cukup" sepenuhnya tergantung pada lingkungan yang Anda bicarakan. Sanitasi untuk MySQL harus dianggap sepenuhnya terpisah dari sanitasi untuk keluaran web, dan Anda harus menanganinya secara terpisah untuk menghindari banyak kerumitan.

Pembersihan untuk MySQL

  • mysql_real_escape_string() akan membersihkan sepotong data dan membuatnya aman untuk dimasukkan ke dalam kueri SQL.
  • Tipe data berbahaya lainnya, seperti tag HTML di dalam string, harus benar-benar diabaikan. Mencoba memanipulasinya di sini akan membuat Anda sakit kepala saat Anda mencoba untuk "membatalkan manipulasi" nanti setelah mengeluarkannya dari database. "Data web" yang buruk tidak dapat membahayakan database Anda.

Sanitasi untuk keluaran

  • htmlspecialchars($val) pada waktu keluaran akan mencegah tag berbahaya dirender, karena < dan > karakter diubah menjadi representasi entitasnya dan tidak dirender sebagai pembatas tag.
  • Gunakan ENT_QUOTES pengubah jika Anda mengeluarkan sesuatu yang ada di dalam atribut kutipan elemen HTML, seperti <input name="email" value="<?php echo htmlspecialchars($email,ENT_QUOTES); ?>" />

Itu semua yang Anda butuhkan, kecuali jika Anda memiliki persyaratan khusus. strip_tags() seharusnya tidak benar-benar digunakan untuk sanitasi, karena dapat dibodohi dengan HTML yang terbentuk dengan buruk. Sanitasi adalah tujuan yang layak, dan jika Anda dapat memisahkan konteks Anda, Anda akan mengalami lebih sedikit masalah dengan manipulasi data di antara mereka.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL vs Microsoft SQL

  2. Data terpotong untuk kolom?

  3. MediumBlob dalam skema database Laravel

  4. Setel zona waktu untuk MYSQL SEKARANG ()

  5. Pernyataan pembaruan MySQL untuk menyimpan posisi peringkat