跟进my last question ...
如果攻击者有权访问encodedText
:
return $('<div/>').html(encodedText).text();
e.g。 $("<div/>").html('<img src="X" onerror="alert(\'hi\');" />').text()
会显示提醒。
This answer建议使用textarea
来避免XSS漏洞:
return $('<textarea/>').html(encodedText).text();
这能够安全地处理以前的漏洞利用。
但是,this answer表示使用textarea
时仍存在XSS漏洞:
我建议使用更安全,更优化的功能
不要使用jQuery.html()。text()解码html实体,因为它不安全,因为用户输入永远不能访问DOM
我的问题是:假设攻击者可以访问$('<textarea/>').html(encodedText);
,是否有任何浏览器可以利用encodedText
来运行XSS?
答案 0 :(得分:0)
我不冒风险是诚实的,如果您处理任何需要加密或未加密的服务器端,那将会更安全。