[英]How would I sanitize this string? (preferably in JQuery)?
我有一個網頁,人們在其中將內容輸入到文本框中,並在其下方顯示該文本。 而已。 沒有服務器端。
假設有人鍵入<script src="blah">hello</script>
我想將其顯示為文本。 當然,不是作為腳本。 我該怎么做(全部在 javascript 中)?
我想顯示整個文本。 不要將標簽剔除。
$('div.whatever').text($('input.whatever').val());
這會將事物轉換為 HTML 實體,因此它們會在鍵入時顯示,而不是被視為標記。
<input type="text" onkeyup="$('#outputDiv').text($(this).val());" />
<div id="outputDiv"></div>
使用 JQuery 通常清理任何字符串的快速方法是創建一個臨時元素,使用text
方法設置文本內容,然后再次使用text
檢索轉義文本。
const unsanitized = '<script>alert()></script>'
// Outputs '<\script>alert()><\/script>'
const sanitized = $("<p>").text(unsanitized).text()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.