Могу ли я одновременно избежать использования HTML и JavaScript?

Например, в моем проекте сервлета Java я возвращаю текст, введенный пользователем на сайт, на тот же сайт (и в нескольких местах внутри HTML и JavaScript, потенциальная атака XSS).

Правильно ли использовать класс Apache StringEscapeUtils для одновременного выхода из HTML и JavaScript следующим образом:

String sample_string=escapeEcmaScript(escapeHtml4(request.getParameter("sample_string")));

person Šime Tokić    schedule 21.12.2015    source источник
comment
Примечание: escapeEcmaScript имеет совершенно другую цель, для которой вы можете найти здесь реальный вариант использования: stackoverflow.com/q/9708242   -  person BalusC    schedule 21.12.2015


Ответы (1)


Вы можете использовать Spring HtmlUtils:

HtmlUtils.htmlEscape(input)

или общие ресурсы Apache StringEscapeUtils:

StringEscapeUtils.escapeHtml(input)

Когда вы избегаете HTML, вам не нужно беспокоиться о Javascript. Поскольку HTML-код экранирован, Javascript будет отображаться как обычный текст и не запускаться.

person Ivar    schedule 21.12.2015