目前我使用jQuery解決方案的此方法來清理可能的XSS攻擊中的字符串。Javascript消毒:插入可能的XSS html字符串的最安全的方法
sanitize:function(str) {
// return htmlentities(str,'ENT_QUOTES');
return $('<div></div>').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');
}
但我有一種感覺,它不夠安全。我想念什麼?
我試圖從phpjsヶ輛項目位置: http://phpjs.org/functions/htmlentities:425/
但它還挺竊聽並返回一些額外的特殊符號。也許這是一箇舊版本?
例如:
htmlentities('test"','ENT_QUOTES');
產地:
test&quot;
但應該是:
test"
你是如何通過JavaScript處理呢?
你怎麼打算使用「消毒」字符串? – penartur
作爲文本插入到html文件中。作爲HREF =「消毒」或SRC =「消毒」,或
從哪裏插入被觸發?你想使用Javascript動態地將字符串插入到已經打開的頁面中,或者使用PHP插入到服務器生成的HTML文檔中? – penartur