Menyahkod Entiti HTML: Mencari Pendekatan yang Betul
Dalam bidang pengaturcaraan web, selalunya, respons JSON mungkin mengandungi entiti HTML yang dikodkan yang memerlukan untuk dinyahkod untuk paparan yang betul. Sebagai contoh, anda mungkin menemui rentetan JSON dengan tanda kutip yang dikodkan sebagai "'".
Kaedah biasa untuk menyahkod entiti sedemikian melibatkan memanfaatkan keupayaan penghuraian HTML jQuery. Walau bagaimanapun, pendekatan ini boleh dianggap meretas kerana sifat tidak langsungnya.
Untuk penyelesaian yang lebih halus, pertimbangkan perkara berikut:
function decodeHtml(html) { var txt = document.createElement("textarea"); txt.innerHTML = html; return txt.value; }
Kaedah ini memanfaatkan mekanisme asli penyemak imbas dengan tepat menyahkod entiti HTML. Tidak seperti pendekatan jQuery, ia juga mengekalkan sebarang teg HTML yang terdapat dalam rentetan, memastikan kesetiaan kandungan yang dinyahkodkan.
Untuk demonstrasi praktikal, pertimbangkan perkara berikut contoh:
Input:
Entity:&nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>
Output:
Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
Seperti yang anda boleh perhatikan, proses penyahkodan mengekalkan bukan sahaja entiti HTML khas tetapi juga tag HTML dalam rentetan, mengekalkan integriti asal kandungan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahkod Entiti HTML dengan Cekap dalam JSON Responses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!