Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP中的HTML实体编码器_Html_Security_Xss_Owasp_Esapi - Fatal编程技术网

JSP中的HTML实体编码器

JSP中的HTML实体编码器,html,security,xss,owasp,esapi,Html,Security,Xss,Owasp,Esapi,我想为我的HTML${data}使用一个HTML实体编码器 我使用的是ESAPI库ESAPI.encoder.encodeForHTML,但我不确定它是否正确,因为例如,使用ESAPI.encoder.encodeForHTML对test/a/2进行编码的结果是test&x2f;a&x2f;2这就是我在JSP中看到的使用: <div><esapi:encodeForHTML>${deviceKey}</esapi:encodeForHTML></div&

我想为我的HTML${data}使用一个HTML实体编码器 我使用的是ESAPI库ESAPI.encoder.encodeForHTML,但我不确定它是否正确,因为例如,使用ESAPI.encoder.encodeForHTML对test/a/2进行编码的结果是test&x2f;a&x2f;2这就是我在JSP中看到的使用:

<div><esapi:encodeForHTML>${deviceKey}</esapi:encodeForHTML></div>

但在这个网站上,结果是test/a/2?!为什么?

由于对维护平台缺乏兴趣,ESAPI几乎不受支持;我们希望有更多活跃的开发者

如果您正在使用主动Ajax替换DIV,那么应该研究AngularJS中的安全模板和SCE,以替代ESAPI

$消毒
$sce

两者都是正确的。两者都是相同字符串的等效HTML表示形式。无需编码/to&x2f;在这里,但它也不是不正确的。所以有ESAPI编码器等效于另一个?我不想从你自己的审美感受中对每件事都进行编码,有什么理由不想对每件事进行编码吗?出于某种原因,您必须使用ESAPI吗?那就用它的HTML编码器吧,我猜?!当然,您可以回过头来尝试其他方法,但同样,您所拥有的已经是完全正确的。如果我猜最终用户更了解test/a/2,而不是test&x2f;a&x2f;2你是说测试&x2f;a&x2f;2显示在您的UI中?