2009-06-17 2 views
3

В проекте, в котором я сейчас работаю, есть, в кассе, возможность прикреплять встроенное видео YouTube к объявлению.Каков наилучший способ обойти ошибку «потенциально опасный запрос» в asp.net?

Это вызывает головную боль:

Мой первоначальный план был взять код вставки HTML, что пользователь предоставляет от YouTube и разделить вне VideoID и хранить только то, что, отвергая все, что не соответствует определенному шаблону, чтобы не было хитроумного бизнеса.

К сожалению, проверка ASP.net ловит html до того, как он будет отправлен мне обратно для обработки, есть ли способ , кроме выключения проверки, чтобы обойти это?

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

+0

Вот ответ. Следуйте по этой ссылке: http://stackoverflow.com/questions/10210673/what-is-the-meaning-of-a-potential-dangerous-request-form-value-was-detected-f/10817548#10817548 –

ответ

2

Отключение флага ValidateRequest - единственный способ разрешить .net принимать данные.

Один из вариантов может заключаться в использовании javascript для кодирования ввода и записи страницы зашифрованными данными вместо необработанного html.

Другая альтернатива - иметь пустую страницу с вашим контролем и кнопку «отправить» внутри iframe на главной странице. Таким образом вам нужно только отключить проверку для этой страницы и, следовательно, контролировать. Однако стилизация может быть проблемой.

1

Если вас интересует только идентификатор видео с YouTube, не могли бы вы просто ввести пользователя для ввода URL-адреса YouTube, а затем извлечь идентификатор видео из строки запроса? Тогда вам не придется беспокоиться о проблемах проверки страницы.

+0

да, в какой-то момент в дизайне было решено, что было бы лучше, если бы люди поставили элемент управления embed ... Я бы предпочел сделать это так, как вы сказали, но это не мой звонок. –

Смежные вопросы