Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Boleh Menyahi Entiti HTML dengan Selamat untuk Mencegah Kerentanan XSS?
Menelak Entiti HTML dalam JavaScript: Panduan Mengelakkan Kerentanan XSS
Dalam JavaScript, apabila mengendalikan data daripada sumber yang tidak dipercayai, mengelak entiti HTML dengan berhati-hati adalah penting untuk mengelakkan kelemahan Skrip Silang Tapak (XSS). Contoh yang diberikan menunjukkan isu di mana rentetan yang mengandungi entiti HTML yang dikembalikan melalui XML-RPC muncul secara literal dan bukannya dipaparkan dengan betul.
Penyelesaian Berasaskan DOM untuk Rentetan Dipercayai:
Untuk rentetan yang dipercayai, di mana tujuannya adalah untuk memaparkan kandungan HTML dalam dokumen, fungsi berikut boleh digunakan:
function htmlDecode(input) { var doc = new DOMParser().parseFromString(input, "text/html"); return doc.documentElement.textContent; }
Kaedah ini menggunakan DOMParser untuk mencipta dokumen sementara daripada rentetan input. Sifat textContent documentElement kemudian mengekstrak teks yang tidak dilepaskan.
Berhati-hati dengan Rentetan Yang Tidak Dipercayai:
Apabila berurusan dengan rentetan yang tidak dipercayai, adalah penting untuk ambil perhatian bahawa menggunakan berasaskan DOM kaedah seperti di atas berpotensi memperkenalkan kelemahan XSS. Ini berlaku apabila rentetan input mengandungi teg HTML yang tidak dilepaskan, membenarkan penyemak imbas melaksanakan kod hasad.
Teknik Diagnosis:
Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Menyahi Entiti HTML dengan Selamat untuk Mencegah Kerentanan XSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!