Защита ввода пользователя, выводимого в формате html с помощью coldfusion - PullRequest
4 голосов
/ 11 декабря 2011

Когда пользователь ищет страницу, я добавляю? Q = [searchterm] к своему URL и выводю что-то вроде этого:

Your search result for <CFOUTPUT>#htmleditformat(URL.q)#</CFOUTPUT>:

Некоторое время назад я прочитал, что htmleditformat() недостаточно, и XSS можетпо-прежнему выполняется (... например, если кто-то отправляет ссылку на жертву, например http://example.com/?q=[evilXSS]).

, я также сохраняю URL.q в базе данных (в данном случае я использую ORM):

<CFSET myobject.setKeyword(URL.q) />

но сейчас меня интересует, как безопасно вывести данные пользователя в браузер.

1 Ответ

3 голосов
/ 11 декабря 2011

Вы также можете использовать xmlFormat(), описанное здесь . Он экранирует больше символов, чем htmlEditFormat(), например, одинарные кавычки и символы высокого ASCII в диапазоне 159-255.

Если вы хотите больше контроля, вы можете использовать Javas StringEscapeUtils напрямую.

...