Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
C# 潜在危险的请求。从客户端检测到表单值_C#_Asp.net_Validate Request - Fatal编程技术网

C# 潜在危险的请求。从客户端检测到表单值

C# 潜在危险的请求。从客户端检测到表单值,c#,asp.net,validate-request,C#,Asp.net,Validate Request,我有一个asp.net应用程序,在搜索框中输入特殊字符(如“&#,”)时出现了一些问题。如果我在搜索框中输入此文本,我会得到如下异常 从客户端检测到潜在危险的请求。表单值(txtValue=“:&#,”) 然后我在网上搜索,我得到了一个通用的解决方案,将validaterequest设置为false。但我的申请没有任何变化。请帮我解决这个问题。如有任何回复,将不胜感激 添加一个包含 <system.web> <pages validateRequest="false"

我有一个asp.net应用程序,在搜索框中输入特殊字符(如“&#,”)时出现了一些问题。如果我在搜索框中输入此文本,我会得到如下异常

从客户端检测到潜在危险的请求。表单值(txtValue=“:&#,”)


然后我在网上搜索,我得到了一个通用的解决方案,将validaterequest设置为false。但我的申请没有任何变化。请帮我解决这个问题。如有任何回复,将不胜感激

添加一个包含

<system.web>
    <pages validateRequest="false" />
</system.web>

指向包含该表单的页面所在的目录

有关完整说明,请参阅

如果您使用asp.net 4.0,您可以尝试

<httpRuntime requestValidationMode="2.0" />

另见


有点晚了,但与那些认为将其放入web.config是一个安全漏洞的说法一致

我使用相关控制器上的
[ValidateInput(false)]
属性执行此操作


ValidateInput
可在MVC2中的
System.Web.MVC
中找到
。我还为
文章内容
列使用了html编辑器。当我试图保存时,我遇到了同样的错误。通过将
[allowtml]
添加到类中的
文章内容
属性来解决此问题

不要忘记使用
System.Web.Mvc
包含名称空间。有关详细信息:

使用Framework 4.5,解决方案是修改web.config,添加以下行:

<httpRuntime requestValidationMode="4.5"/>

您在哪里设置了ValidateRequest?Hm的可能副本,适用于我的所有web应用程序。您是否使用.NET2.0或更高版本?哪个操作系统?.NET3.5和操作系统是Server2003IE8对不起,我在同一个环境下工作。我会尝试在干净的网站上复制此行为,以排除其他组件和web.config设置;否则,您可能会在整个应用程序中打开一个安全漏洞。@PhilPursglove我同意逐页操作是最佳做法,除非您知道自己在做什么。ValidateRequest=true是未正确编码的web应用程序的安全措施。从上面的www.asp.net链接页面中可以看到:“当应用程序设计为安全地处理HTML数据时,可以禁用此请求验证功能。”当然,我们确实做到了这一点,不是吗?!我通常是在目录的基础上做的。如果您使用依赖于该请求验证的第三方组件(但无论如何都不应该使用这些组件),则需要特别小心。
string reportXML = this.Request.Unvalidated.Form["reportstream"];