跟进my last question ...
如果攻击者可以访问encodedText
,则可以利用此代码:
return $('<div/>').html(encodedText).text();
例如
$("<div/>").html('<img src="X" onerror="alert(\'hi\');" />').text()
显示警报。This answer建议改用
textarea
以避免XSS漏洞:return $('<textarea/>').html(encodedText).text();
这样就可以安全地处理以前的攻击。
但是,this answer表示使用
textarea
时仍然存在XSS漏洞:我的问题是:在任何浏览器中,如果攻击者可以访问
$('<textarea/>').html(encodedText);
,有没有办法利用encodedText
运行XSS? 最佳答案
老实说,我不会冒险,如果您处理需要加密或未加密的服务器端内容,那将更加安全。