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

Apakah penurunan harga (dengan strip_tags) cukup untuk menghentikan serangan XSS?

Saya pikir menghapus tag HTML apa pun dari input akan memberi Anda sesuatu yang cukup aman -- kecuali jika seseorang menemukan cara untuk menyuntikkan beberapa data yang benar-benar kacau ke penurunan harga, membuatnya menghasilkan keluaran yang lebih kacau lagi ^^

Namun, inilah dua hal yang muncul di benak saya :

Yang pertama : strip_tags bukan fungsi ajaib :ia memiliki beberapa kekurangan...
Misalnya, ia akan menghapus semuanya setelah '<', dalam situasi seperti ini :

$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));

Output yang saya dapatkan adalah :

string '10 appels is ' (length=13)

Yang tidak begitu baik untuk pengguna Anda :-(


Yang kedua : Suatu hari nanti, Anda mungkin ingin mengizinkan beberapa tag/atribut HTML; atau, bahkan hari ini, Anda mungkin ingin memastikan bahwa Penurunan Harga tidak menghasilkan beberapa Tag/atribut HTML.

Anda mungkin tertarik dengan sesuatu seperti HTMLPurifier :memungkinkan Anda untuk menentukan tag dan atribut mana yang harus disimpan, dan memfilter string, sehingga hanya yang tersisa.

Itu juga menghasilkan kode HTML yang valid -- yang selalu bagus ;-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Codeigniter :Kesalahan dalam permintaan ORDER BY CASE

  2. Kesalahan sintaks SQL dekat desc

  3. MySQL REPLACE :Bagaimana mengganti semua kemunculan char di setiap substring berbeda yang dibatasi oleh kepala dan ekor yang sama

  4. Pilih pernyataan dari beberapa tabel, dengan input variabel

  5. Cara Memesan Berdasarkan Tanggal di MySQL