Safe Comment Box
Buat kotak komentar aman untuk ditampilkan, tanpa merusak komentar yang benar-benar ditulis orang.
Tantangan ini bertumpu pada lab XSS Prevention. Anda bisa langsung mulai, atau membuka lab-nya dulu.
Buka lab XSS PreventionBelum dimulai
Percobaan yang belum selesai tidak disimpan. Memuat ulang halaman memulainya lagi; hanya status selesai yang diingat, dan hanya di perangkat ini.
Skenario
Kotak komentar Papertrail
Papertrail membiarkan pengunjung menulis komentar dan mengatur nama tampilan. Keduanya dimasukkan ke halaman dengan menempelkan teks yang diketik ke dalam HTML. Orang asing bisa mengetik markup alih-alih kata-kata, dan browser tidak bisa membedakannya dari markup milik Papertrail.
Perbaiki kedua tempat itu, teks komentar dan kolom nama tampilan, agar tidak ada input uji yang bisa menjalankan kode sementara komentar biasa tetap tampil persis seperti diketik.
Tujuan Anda
- Anggap semua yang diketik pengunjung sebagai data tak tepercaya.
- Render teks sebagai teks, bukan membiarkan browser mem-parse-nya sebagai markup.
- Encode output sesuai konteks tempatnya mendarat: isi elemen dan atribut berkutip butuh perlakuan berbeda.
- Utamakan encoding daripada penyaringan: filter melewatkan kasus dan merusak komentar asli.
- Pakai Content Security Policy sebagai lapisan tambahan, bukan sebagai perbaikannya.
Semuanya fiktif dan berjalan di browser Anda. Tidak ada akun, rahasia, atau request jaringan yang sungguhan.