Latihan 1: XSS Prevention & Sanitization — Security
Latihan 1 dari materi XSS Prevention & Sanitization di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi fungsi sanitizeHTML(input) supaya meng-escape karakter khusus HTML dan mengembalikan string hasilnya. Walau namanya sanitize, yang diminta adalah escape: semua karakter tetap ada, cuma ditulis sebagai entity.
Ganti & jadi &. Ini harus pertama.
Ganti < jadi < dan > jadi >.
Ganti " jadi " dan ' jadi ' (atau ', artinya sama).
Pakai replace dengan flag g, misalnya /&/g, supaya semua kemunculan ikut diganti, lalu return hasilnya.
Dua baris console.log di kode awal sudah ada, biarkan. Fungsimu diuji dengan empat input ini:
Input
Harus mengembalikan
<script>alert(1)</script>
<script>alert(1)</script>
Halo "Budi"
Halo "Budi"
a & b < c
a & b < c
Jum'at
Jum'at (atau Jum'at)
Hint
Escape mengganti karakter khusus HTML dengan entity, jadi browser menampilkannya sebagai teks. Ada lima karakter: &, <, >, " dan '.
Rangkai lima replace dengan flag g, dimulai dari & supaya & di dalam < gak ikut diganti lagi: input.replace(/&/g, ...).replace(/</g, ...) dan seterusnya, lalu return hasilnya.