15

我有一个 asp.net 应用程序,当我在搜索框中输入“: &#”等特殊字符时出现一些问题。如果我在搜索框中输入此文本,我会遇到这样的异常。

从客户端检测到具有潜在危险的 Request.Form 值 (txtValue=": &#, ")。

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

4

4 回答 4

23

添加一个 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" />

也可以看看

于 2010-06-02T06:10:33.230 回答
18

有点晚了,但与那些说把它放在 web.config 中是一个安全漏洞的说法一致。

我用有[ValidateInput(false)]问题的控制器上的属性来做。

ValidateInputSystem.Web.MVC在 MVC2中找到

于 2012-04-16T20:40:19.790 回答
2

我创建了一个article包含列articleIdarticle_content. article_content我还为列使用了 html 编辑器。当我试图保存时,我得到了同样的错误。它是通过添加[AllowHtml]article_content类中的属性来解决的。

不要忘记使用包含命名空间System.Web.Mvc。更多详情: http: //www.infinetsoft.com/Post/A-potentially-dangerous-Request-Form-value-was-detected-from-the-client/1246

于 2016-05-26T14:28:09.873 回答
1

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

<httpRuntime requestValidationMode="4.5"/>

并获得如下请求:

string reportXML = this.Request.Unvalidated.Form["reportstream"];
于 2018-11-16T16:49:50.577 回答