На клиенте обнаружено потенциально опасное значение Request.Form - ASP.NET MVC - PullRequest
36 голосов
/ 21 сентября 2009

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

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

Ответы [ 6 ]

49 голосов
/ 21 сентября 2009

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

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

28 голосов
/ 07 января 2013

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

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.allowhtmlattribute?view=aspnet-mvc-5.2

21 голосов
/ 21 сентября 2009

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

4 голосов
/ 07 марта 2010

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

3 голосов
/ 21 сентября 2009
1 голос
/ 16 июня 2015

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

Пример

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult Insert(FormCollection formCollection, Models.Page page)
    {
        //your code
        return View();
    }
...