Enkode/Dekode HTML
Enkode/Dekode HTML
Enkode/Dekode HTML: Mendukung escape dan unescape entitas HTML, menangani karakter khusus dan tag. Mendeteksi format entitas bernama dan numerik secara otomatis, mencegah serangan XSS, cocok untuk menampilkan input pengguna, contoh kode, dan pemrosesan konten yang aman. Semua proses berlangsung secara lokal di browser.
Mulai cepat
Skenario umum
Komentar pengguna
meng‑escape komentar yang dikirim pengguna untuk mencegah serangan XSS.
Artikel blog
menampilkan contoh kode HTML di dalam artikel.
Posting forum
menampilkan konten buatan pengguna secara aman.
Pesan chat
mencegah kode berbahaya menyebar lewat fitur percakapan.
Data formulir
memproses dan menampilkan data yang dikirim melalui formulir.
Tampilan kode
menampilkan cuplikan kode HTML/JavaScript di halaman web.
Skenario tambahan
HTML entities, escape HTML, dan unescape HTML dapat ditangani dalam alur yang sama agar hasil lebih cepat diperiksa sebelum disalin atau diekspor.
Aturan & entitas HTML
Saran penggunaan
Batasan & kompatibilitas
Privasi & keamanan
Pertanyaan umum
XSS (Cross‑Site Scripting) adalah teknik ketika penyerang menyuntikkan skrip berbahaya ke halaman web untuk mencuri informasi pengguna atau melakukan operasi berbahaya. HTML escape adalah langkah dasar untuk mengurangi risiko XSS.
Saat menampilkan konten apa pun yang berasal dari input pengguna—misalnya komentar, pesan, dan data formulir—selama konten berpotensi mengandung tag HTML, sebaiknya dilakukan escape.
Keduanya merepresentasikan < (tanda kurang dari). &lt; adalah entitas bernama (lt = less‑than), sedangkan &#60;/&#x3C; adalah entitas numerik/heksadesimal. Di HTML modern, keduanya berperilaku sama: gunakan &lt; untuk keterbacaan yang lebih baik; gunakan &#60;/&#x3C; ketika tidak mendukung entitas bernama atau saat perlu merepresentasikan karakter arbitrer. Selalu pertahankan titik koma di akhir (misalnya &lt;); jika hilang, parser bisa menggabungkan dengan huruf berikut dan menghasilkan teks yang salah.
Tidak. Escape HTML hanya berlaku di konteks HTML. Di konteks JavaScript, CSS, dan URL dibutuhkan jenis escape yang berbeda.
Itu biasanya terjadi saat konten di‑escape dua kali: pertama < diubah menjadi &lt;, lalu & di‑escape lagi menjadi &amp;, sehingga hasil akhir menjadi &amp;lt;. Hindari melakukan escape berulang pada data yang sama.
Gunakan pembersihan (sanitization) alih‑alih hanya escape: pertahankan hanya tag/atribut yang ada di daftar aman dan batasi protokol. Misalnya hanya membiarkan p/br/ul/ol/li/a/strong/em/code/pre/blockquote/h1–h3; untuk a hanya izinkan href/title/target (http/https/mailto/tel), untuk img hanya src/alt; hapus style dan semua event on*. Pustaka seperti DOMPurify atau sanitize‑html sangat dianjurkan, dan bila memungkinkan lakukan sanitasi di sisi server; jangan pernah memasukkan konten yang tidak dipercaya langsung ke innerHTML/dangerouslySetInnerHTML—gunakan textContent untuk teks murni.