我们一直在寻找方法将我们的JSP页面进行HTML编码,以防XSS攻击。
OWASP网站显示如何在Java中执行HTML实体编码。
这篇文章讲述了实体编码"大五码"的问题,也就是指五个汉字编码标准。
21 {"#39", new Integer(39)}, // - apostrophe
22 {"quot", new Integer(34)}, // " - double-quote
23 {"amp", new Integer(38)}, // & - ampersand
24 {"lt", new Integer(60)}, // < - less-than
25 {"gt", new Integer(62)}, // > - greater-than
i.e.
<script>
被编码为
<script>
但是文章中包含的Java代码示例使用数字参考编码,即...
<script></script>
被编码为
<script></script>
使用字符引用而不是实体引用是否有理由?哪个更好,为什么?