C# 潜在危险的请求。从客户端检测到表单值
我有一个asp.net应用程序,在搜索框中输入特殊字符(如“,”)时出现了一些问题。如果我在搜索框中输入此文本,我会得到如下异常 从客户端检测到潜在危险的请求。表单值(txtValue=“:,”)C# 潜在危险的请求。从客户端检测到表单值,c#,asp.net,validate-request,C#,Asp.net,Validate Request,我有一个asp.net应用程序,在搜索框中输入特殊字符(如“,”)时出现了一些问题。如果我在搜索框中输入此文本,我会得到如下异常 从客户端检测到潜在危险的请求。表单值(txtValue=“:,”) 然后我在网上搜索,我得到了一个通用的解决方案,将validaterequest设置为false。但我的申请没有任何变化。请帮我解决这个问题。如有任何回复,将不胜感激 添加一个包含 <system.web> <pages validateRequest="false"
然后我在网上搜索,我得到了一个通用的解决方案,将validaterequest设置为false。但我的申请没有任何变化。请帮我解决这个问题。如有任何回复,将不胜感激 添加一个包含
<system.web>
<pages validateRequest="false" />
</system.web>
指向包含该表单的页面所在的目录
有关完整说明,请参阅
如果您使用asp.net 4.0,您可以尝试
<httpRuntime requestValidationMode="2.0" />
另见
[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"];