На клиенте обнаружено потенциально опасное значение Request.Form - ASP.NET MVC

Я получаю эту ошибку в моем приложении ASP.NET MVC, где я беру HTML-ввод из WYSIWYG, поэтому я не хочу проверять содержимое.

Я попытался найти решение, которое нашел здесь, но, похоже, в моем приложении MVC нет никакой разницы. Я также попытался сделать это в web.config, но опять же - не радость.
Это ошибка в ASP.NET MVC или что-то?

6 ответов

Решение

В MVC вы бы использовали атрибут ValidateInput (false).

Затем вам нужно очистить входные данные, например, с помощью чего-то подобного (встроенного в ASP.NET 4.5+; используйте пакет NuGet для более ранних версий).

В MVC 3 и более поздних версиях вы также можете использовать [AllowHtml] приписывать. Этот атрибут позволяет вам быть более детальным, пропуская проверку только для одного свойства в вашей модели.

http://blogs.msdn.com/b/marcinon/archive/2010/11/09/mvc3-granular-request-validation-update.aspx

Просто поместите этот атрибут: [ValidateInput(false)] в метод действия на контроллере, который обрабатывает публикацию формы.

Использование <httpRuntime requestValidationMode="2.0" /> в веб-конфигурации

В вашем методе действия контроллера (тот, который приносит это) добавьте [ValidateInput(false)]

пример

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult Insert(FormCollection formCollection, Models.Page page)
    {
        //your code
        return View();
    }
Другие вопросы по тегам