Ручка угловая скобка в ASP.Net - PullRequest
3 голосов
/ 05 января 2012

В настоящее время при попытке отправить транзакцию, содержащую раскрывающийся список с текстовой угловой скобкой, например, например, "<abcd>", я получаю 500 внутренних ошибок сервера, начиная с ValidateRequest=true по умолчанию, и выдает необработанное исключение, прежде чем оно достигнет обработчика страниц из-за проблемы межсайтового скриптинга

Есть ли способ перехватить и изменить объект запроса в HttpModule или Glabal.asax, поскольку я знаю, что объект запроса доступен только для чтения.

Я ломал голову почти три дня, но не смог найти конкретное решение. Что было бы лучшим решением для обработки таких сценариев. Также я не хочу кодировать его на стороне клиента.

Ответы [ 3 ]

3 голосов
/ 05 января 2012

Кодировать значение в списке:

<asp:ListItem>&lt;abcd&gt;</asp:ListItem>

[Редактировать] Я понимаю, что мое решение не применимо. Содержимое, вероятно, отправляется в зашифрованном виде браузером, а также в коде рендеринга, также выпадающем списке (если вы используете стандартную привязку данных). Я думаю, что ваш единственный вариант - отключить проверку запроса.

Это означает, что вы должны быть очень осторожны при вводе пользователем. Проще говоря, закодируйте каждый пользовательский ввод с помощью HttpUtility.HtmlEncode(txtXX.Text);.

Подробнее об этом можно узнать на странице Обзор сценариев на странице MSDN.

1 голос
/ 05 января 2012

Используйте HttpUtility.HtmlEncode и HttpUtility.HtmlDecode для решения этой проблемы ..

вы можете поместить кодированный HTML-текст в элемент управления или использовать эти методы в соответствии с вашими требованиями (Между событиями)

Следуйте за этими ТАКИМИ ветками ...
HttpUtility.HtmlEncode для проверки записей пользователя
Ошибка проверки w3c в asp.net

Если вы можете отключить проверку, следуйте этим
asp.net: Неверный аргумент обратной передачи или обратного вызова

Проверка MSDN на Использование скриптов

0 голосов
/ 05 января 2012

Я предпочитаю использовать Microsoft Anti-Cross Site Scripting Library V4.0 , поскольку она предоставляет множество вспомогательных функций для кодирования HTML, HtmlAttribute, JavaScript, URL, XML для ограничения любых межсайтовых атак.

...