Мы искали способы HTML-кодирования наших страниц JSP для противодействия XSS.
Сайт OWASP показывает How_to_perform_HTML_entity_encoding_in_Java
В статье рассказывается о сущности, кодирующей "большую 5", т. Е.
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
т.е.
<script>
кодируется как
<script>
но в примере кода Java, включенном в статью, используется кодировка числовой ссылки, т. Е.
<script></script>
кодируется как
<script></script>
Есть ли причина для использования ссылок на символы вместо ссылок на сущности? Что лучше и почему?