我有一个asp.net应用程序,在搜索框中输入特殊字符,比如“:&#,”会出现问题。如果我在搜索框中输入此文本,则会显示以下异常:
检测到来自客户端的潜在危险 Request.Form 值(txtValue=": &#, ")。
然后我在网上搜索,找到了一个通用解决方案,即将validaterequest设置为false。但是我的应用程序没有做出任何更改。请帮我解决这个问题。感谢任何回复。
我有一个asp.net应用程序,在搜索框中输入特殊字符,比如“:&#,”会出现问题。如果我在搜索框中输入此文本,则会显示以下异常:
检测到来自客户端的潜在危险 Request.Form 值(txtValue=": &#, ")。
然后我在网上搜索,找到了一个通用解决方案,即将validaterequest设置为false。但是我的应用程序没有做出任何更改。请帮我解决这个问题。感谢任何回复。
添加一个包含以下内容的web.config文件
<system.web>
<pages validateRequest="false" />
</system.web>
将目录切换到包含相关表单的页面。
详细描述请参见http://www.asp.net/learn/whitepapers/request-validation。
如果您使用的是asp.net 4.0,则可以尝试
<httpRuntime requestValidationMode="2.0" />
另请参阅
虽然有点晚,但我同意那些说在 web.config 中设置会产生安全漏洞的观点。
我使用在相关控制器上使用 [ValidateInput(false)]
属性来处理这个问题。
ValidateInput
可在 MVC2 中的 System.Web.MVC
中找到。
article
的表,该表包含articleId
和article_content
两列。我还为article_content
列使用了HTML编辑器。但当我尝试保存时,出现了相同的错误。将article_content
属性添加[AllowHtml]
后,问题得以解决。System.Web.Mvc
包含命名空间。更多详情请参见:http://www.infinetsoft.com/Post/A-potentially-dangerous-Request-Form-value-was-detected-from-the-client/1246。<httpRuntime requestValidationMode="4.5"/>
string reportXML = this.Request.Unvalidated.Form["reportstream"];