ГВТ, мешающие профилактическим мерам XSS - PullRequest
0 голосов
/ 27 октября 2009

В настоящее время я нахожусь в процессе разработки приложения GWT 1.7.1, которое имеет дело со значительным количеством постоянных пользовательских данных, поэтому существует риск злонамеренного XSS. Одним из шагов, которые я предпринимаю для предотвращения этого, является использование org.apache.commons.lang.StringEscapeUtils.escapeHtml () на стороне сервера (да, я хорошо знаю, что это не предотвратит все возможные атаки XSS, поскольку упоминается здесь и здесь ).

Этот подход вызывает проблемы на стороне клиента, поскольку кажется, что GWT выполняет свое собственное экранирование на стороне клиента (например, сервер возвращает строку « Alice & amp; Bob Inc. » и «* 1011»). * Alice & amp; Bob Inc. »отображается в DOM, что неверно). Это определенно происходит на стороне клиента, так как ответ http от сервера содержит правильно закодированные данные. Я просматривал документацию для GWT и не нашел ссылки на эту функцию. Кто-нибудь знает способ отключения этого поведения?

1 Ответ

1 голос
/ 29 октября 2009

Как вы добавляете значение, которое сервер возвращает на страницу? Не могли бы вы добавить в качестве текста? Если вы уверены, что строка безопасна, вы можете добавить ее в виде HTML (обычно есть вариант для HTML) или определенных виджетов, таких как HTML.

Кстати, обычно лучше не возвращать закодированные в формате HTML значения с сервера, поскольку вы не знаете, как их использовать. Я использую правило, что вы сохраняете значения в их чистом формате до последней минуты (добавление в документ и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...