Apabila berurusan dengan rentetan yang mengandungi teg HTML, membersihkan dan melepaskannya atas sebab keselamatan adalah penting. Ini melibatkan menggantikan aksara yang mencurigakan seperti '<', '>' dan '&' dengan entiti HTML yang sepadan: '<', '>' dan '&'.
Pendekatan tradisional seperti ungkapan biasa (cth., fungsi 'safe_tags') boleh memperkenalkan lag yang ketara apabila memproses volum besar rentetan. Untuk menangani cabaran prestasi ini, penyelesaian alternatif muncul: memanfaatkan keupayaan penghuraian HTML penyemak imbas sendiri.
Kaedah ini melibatkan penciptaan
Kod contoh:
var escape = document.createElement('textarea'); function escapeHTML(html) { escape.textContent = html; return escape.innerHTML; } function unescapeHTML(html) { escape.innerHTML = html; return escape.textContent; }
Berikut ialah demonstrasi:
console.log(escapeHTML('<b>Hello world</b>')); // Outputs "<b>Hello world</b>" console.log(unescapeHTML('<b>Hello world</b>')); // Outputs "<b>Hello world</b>"
Walaupun cadangan untuk melangkau melarikan diri dari tanda yang lebih besar daripada ('>') mungkin kelihatan menggoda untuk mengoptimumkan prestasi, ia menimbulkan risiko keselamatan. '>' tidak terlepas aksara membenarkan penyerang menyuntik kod hasad ke dalam skrip, menjadikan pilihan ini tidak digalakkan.
Atas ialah kandungan terperinci Adakah Memanfaatkan Penghuraian HTML Penyemak Imbas Cara Paling Cekap untuk Melarikan Diri Entiti Tag HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!