验证异常,即使使用ValidateRequest =“false”

时间:2011-11-08 15:09:47

标签: asp.net security asp.net-3.5 webforms validate-request

我在网络表单中有一个文本框,管理员用户可以添加要提交的HTML以便输入数据库。

过去,我在提交HTML数据时始终向ValidateRequest="false"添加Page以避免验证错误。但是,对于此网站,即使ValidateRequest设置为false,我也会收到以下错误:

  

从中检测到一个潜在危险的Request.Form值   客户端

我听说这与.NET 4安全性有关,但这是一个ASP.NET 3.5应用程序。

为什么我仍然会收到此错误?

2 个答案:

答案 0 :(得分:2)

RequestValidation在.Net 4.0中有重大变化。

请注意:http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.requestvalidationmode(VS.100).aspx

要解决您的问题,您必须在weh.config中的httpRuntime中将requestValidationMode设置为小于4.0的值,如下所示:

<httpRuntime requestValidationMode="2.0" />

答案 1 :(得分:0)

如果您对将请求验证设置回.net 2感到不安-只需在Web配置中添加位置标记(以及在要允许特殊字符的文本框中设置ValidateRequestMode =“ Disabled”)。 web.config中的位置设置是这样的:

  <location path="login.aspx">
    <system.web>
      <httpRuntime requestValidationMode="2.0" />
    </system.web>
  </location>

在此处查看有关此内容的出色文章和评论:https://weblog.west-wind.com/posts/2010/Aug/19/RequestValidation-Changes-in-ASPNET-40