Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 从客户端ASP.NET MVC检测到一个潜在危险的请求。表单值_Asp.net Mvc_Dangerous Request - Fatal编程技术网

Asp.net mvc 从客户端ASP.NET MVC检测到一个潜在危险的请求。表单值

Asp.net mvc 从客户端ASP.NET MVC检测到一个潜在危险的请求。表单值,asp.net-mvc,dangerous-request,Asp.net Mvc,Dangerous Request,在我的ASP.NET MVC应用程序中,我从所见即所得(WYSIWYG)获取HTML输入,因此我不想验证内容,因此我在该应用程序中遇到此错误 我尝试了我找到的解决方案,但它似乎对我的MVC应用程序没有任何影响。我也尝试过在web.config中这样做,但还是没有乐趣这是ASP.NET MVC中的错误还是什么?只需将此属性:[ValidateInput(false)]放置在处理表单post的控制器上的操作方法上。在MVC中,您将使用(false)属性 然后,您需要清理输入,例如,使用类似(内置于A

在我的ASP.NET MVC应用程序中,我从所见即所得(WYSIWYG)获取HTML输入,因此我不想验证内容,因此我在该应用程序中遇到此错误


我尝试了我找到的解决方案,但它似乎对我的MVC应用程序没有任何影响。我也尝试过在web.config中这样做,但还是没有乐趣
这是ASP.NET MVC中的错误还是什么?

只需将此属性:[ValidateInput(false)]放置在处理表单post的控制器上的操作方法上。

在MVC中,您将使用(false)属性


然后,您需要清理输入,例如,使用类似(内置于ASP.NET 4.5+;早期使用NuGet软件包)的内容。

在MVC 3和更高版本的web配置中使用
,您还可以使用
[allowtml]
属性。此属性允许您只跳过模型上一个属性的验证,从而更精细


在控制器操作方法中(带来此操作的方法)添加[ValidateInput(false)]

范例

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

在Kelix中,您提到的帖子建议使用[pages requestValidation=“false”]web.config参数或视图的[@Page ValidateRequest=“false”]属性。这些选项中的任何一个都可以正常工作。如果可以,请参阅:您必须在web.config[allowtml]中的model属性中添加选项,这样做会更好。禁用验证不是安全的方法,尤其是当您的应用程序面向公共Internet时。考虑使用更细粒度<代码> [允许HTML] < /代码>attibute@jazzcat我同意,但是
[allowtml]
在2009年不存在对我有效,这似乎比“[ValidateInput(false)]”更安全,谢谢你必须应用到模型属性以及相应的视图模型属性,然后它才有效。在我的模型中使用此属性[allowtml],消除了错误。它还会捕获跨站点脚本吗?不会,它不会捕获跨站点脚本。选择此属性意味着您将在输出内容之前自己对内容进行安全编码,或者您正在为某种CMS开发一个HTML编辑器,您实际上希望允许用户输入HTML/脚本以运行它们。