我应该如何正确编码包含HTML的字符串(在javascript中)

时间:2016-08-27 19:03:41

标签: javascript jquery encoding xss esapi

我的代码有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代码),这样我就可以将输出作为正确的表格格式。

我在某处出错还是使用错误的函数进行编码?建议欢迎。

1 个答案:

答案 0 :(得分:2)

在将其作为回复传递之前,请使用var encodedData = encodeURI(htmlDataToEncode);