Разрешить пользователю помещать HTML-строку в httpHandler - PullRequest
2 голосов
/ 12 февраля 2011

Я пишу систему управления контентом, используя JQuery.ajax & C #. JQuery вызывает httpHandler и помещает html из плагина hQml-редактора JQuery.

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

Итак, возможно ли отключить проверку только для одного обработчика? Или мне нужно кодировать HTML на клиенте?

В итоге я пошел на кодировку на клиенте на HTML-кодировка теряется при чтении атрибута из поля ввода

Но мне все равно будут интересны мнения об этом подходе

Ответы [ 2 ]

2 голосов
/ 12 февраля 2011

Я думаю, что это новая функция / проблема в ASP.NET 4.0.До этого они запрашивали проверку только на реальных страницах aspx, а не на обработчиках.

Итак, вы можете изменить следующий параметр в вашем web.config, чтобы он работал как 2.0, и тогда ваши страницы все равно будут проверяться, нообработчики (любые из них) больше не будут использовать проверку запросов.

<httpRuntime requestValidationMode="2.0" />

Вот страница с информацией об этом изменении в 4.0.

1 голос
/ 12 февраля 2011

Вы можете попробовать отключить проверку запросов для этого конкретного обработчика в web.config:

<httpHandlers>
    <add path="foo.ashx" type="Foo.MyHandler" verb="*" validate="false" />
</httpHandlers>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...