Dalam pembangunan bahagian hadapan, kita selalunya perlu memproses beberapa rentetan yang mengandungi teg HTML. Walau bagaimanapun, jika anda memasukkan teg HTML terus ke dalam halaman, ia mungkin menyebabkan beberapa isu keselamatan, seperti suntikan skrip berniat jahat, serangan XSS, dsb. Oleh itu, kita perlu melarikan diri daripada tag HTML supaya ia muncul sebagai teks asal pada halaman.
Dalam jQuery, anda boleh menggunakan kaedah .text()
untuk melepaskan teg HTML. Kaedah ini boleh menukar aksara khas dalam teg HTML seperti <, >, &, " dan ' ke dalam borang yang dikodkan entitinya. Berikut ialah contoh:
<div id="my_div"></div>
var my_string = '<img src="image.jpg" alt="My Image">'; $('#my_div').text(my_string);
Selepas melaksanakan kod ini, halaman akan Paparkan rentetan yang dilepaskan <img src="image.jpg" alt="My Image">
bukannya imej sebenar Dalam kes ini, kita boleh menggunakan kaedah .html()
untuk menukar semula rentetan yang dilepaskan kepada teg HTML yang diiktiraf, contohnya:
var my_string = '<img src="image.jpg" alt="My Image">'; $('#my_div').text(my_string); $('#my_div').html($('#my_div').text());
Ini akan. pastikan tag dalam rentetan dipaparkan dengan betul pada halaman
Perlu diambil perhatian bahawa apabila menggunakan kaedah .html()
, pastikan rentetan yang dihantar kepadanya adalah sah tidak melakukan sebarang escape pada rentetan, jika rentetan yang mengandungi skrip berniat jahat dihantar terus ke kaedah .html()
, ia akan menyebabkan masalah keselamatan jika rentetan itu perlu diubah suai Untuk pemprosesan melarikan diri yang lebih canggih, jQuery juga menyediakan
kaedah masing-masing, yang boleh digunakan untuk melepaskan dan melepaskan aksara khas dalam pemilih Contohnya: .escapeSelector()
var my_selector = '#my_id .my_class'; var escaped_selector = $.escapeSelector(my_selector); console.log(escaped_selector); // 输出 #my_id .my_class var unescaped_selector = $.unescapeSelector(escaped_selector); console.log(unescaped_selector); // 输出 #my_id .my_class
.unescapeSelector()
dalam kod di atas , kaedah melepaskan ruang dan noktah rentetan pemilih kepada borang yang dilepaskan, manakala kaedah mengembalikannya kepada aksara asalnya, memastikan ketepatan pemilih >Ringkasnya, jQuery menyediakan pelbagai kaedah untuk melepaskan aksara khas dalam teg dan pemilih HTML untuk memastikan keselamatan. dan ketepatan halaman Walau bagaimanapun, kami juga perlu membangunkan keselamatan yang baik dalam pembangunan sebenar seperti tidak pernah mempercayai input pengguna, menggunakan ungkapan biasa untuk menapis semua aksara yang menyalahi undang-undang, dsb.
Atas ialah kandungan terperinci tag html melarikan diri jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!