Seperti yang kita ketahui sekarang, serangan XSS berbahaya dan sangat mudah dilakukan . Berbagai kerangka membuatnya mudah untuk menyandikan HTML, seperti ASP.NET MVC tidak:
<%= Html.Encode("string"); %>
Tetapi apa yang terjadi ketika klien Anda mengharuskan mereka untuk dapat mengunggah konten mereka langsung dari dokumen Microsoft Word?
Berikut skenarionya: Orang-orang dapat menyalin dan menempelkan konten dari Microsoft word ke editor WYSIWYG (dalam hal ini tinyMCE ), dan kemudian informasi tersebut diposting ke halaman web.
Situs web bersifat publik, tetapi hanya anggota organisasi yang akan memiliki akses untuk mengirim informasi ke laman web.
Bagaimana cara menangani persyaratan ini dengan cara yang aman? Saat ini tidak ada pengecekan yang dilakukan atas apa yang diposkan klien (karena hanya pengguna 'tepercaya' yang dapat memposting), tetapi saya tidak terlalu senang dengan itu dan ingin menguncinya lebih lanjut jika seandainya akun diretas.
Satu-satunya metode konseptual yang saya ketahui memenuhi persyaratan ini adalah dengan memasukkan tag HTML daftar putih dan membiarkannya melewatinya . Apakah ada cara lain? Jika tidak, Apa cara aman untuk membiarkan pengguna menyimpan input dalam Database dalam bentuk apa pun, tetapi hanya menampilkannya dengan benar dan dilucuti dari tag buruk?