我的代码有XSS Scripting漏洞,我想阻止它。我使用Jquery编码器来防止XSS脚本。 以下是JS代码。
function test(response)
{
$('#test').html( $.encoder.encodeForHTML(response));
}
回复的内容是这个
response="<html><body><table><tr><td>DATA1</td><td>DATA2</td></tr></table></body></html>"
所以,当我执行$ .encoder.encodeForHTML()时,我预计输出将是一个表(在使用编码器之前我正确得到一个表格格式),但是现在,响应字符串本身被打印在div中元件。
有人可以帮我解决这个问题。我需要对响应进行编码(包含HTML代码),这样我就可以将输出作为正确的表格格式。
我在某处出错还是使用错误的函数进行编码?建议欢迎。
答案 0 :(得分:2)
在将其作为回复传递之前,请使用var encodedData = encodeURI(htmlDataToEncode);
。