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