【问题标题】:ValidateInput(false) doesn't seem to work when running under IIS在 IIS 下运行时,ValidateInput(false) 似乎不起作用
【发布时间】:2009-10-13 22:10:28
【问题描述】:

当我在 VS dev server 下运行我的 ASPNet MVC 2 Preview 1 网站时,当我使用 Form Method "Get " - 表单有一个文本框,其中包含带有尖括号的文本(例如:"i

但是在 IIS 下,当发布相同的表单时(使用方法“Get”),我得到一个 404 页面未找到。

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Rejected-By-UrlScan

搜索了整个网络,没有任何帮助解决问题。

是的,我有

  1. ValidateRequest="false" 在 Views->Web.config, Main Web.Config 上设置
  2. 在 Controller 类以及所有 Action 方法上设置的 ValidateInput(false) 属性

这两个选项都不能帮助解决问题。

任何帮助表示赞赏

【问题讨论】:

    标签: asp.net asp.net-mvc iis


    【解决方案1】:

    在您的 404 消息中有一个主要的问题线索。

    Requested URL: /Rejected-By-UrlScan

    UrlScan 是一个安全包,它安装在您的 IIS 服务器中,但未安装在 Visual Studio 开发服务器中,这就解释了为什么您只在 IIS 上遇到此问题。您提到在您的帖子数据中有尖括号,因此 UrlScan 可能因此阻止请求,但我对 UrlScan 不够熟悉可以确定。

    摆弄 ASP.NET 控件的属性可能无法提供解决方案,因为 UrlScan 会在此请求到达 ASP.NET 之前阻止它。

    我真的不能提供比这更多的东西(正如我所说,我对 UrlScan 并不是很熟悉,除了对它是什么的模糊概念之外),但如果我是你,我会从谷歌搜索开始用于 UrlScan 并了解如何配置它 - 或者它是否有某种日志可以帮助您准确确定它阻止此特定请求的原因。

    编辑:http://learn.iis.net/page.aspx/473/using-urlscan 看起来是个不错的起点。

    【讨论】:

      【解决方案2】:

      web.config 中的ValidateRequest 更改在 ASP.NET MVC 中无效。它默认启用,您需要使用属性来启用/禁用它。

      请参阅此参考:

      http://stephenwalther.com/blog/archive/2009/02/20/tip-48-ndash-disable-request-validation.aspx

      【讨论】:

      • 感谢回复,请阅读我已经尝试过ValidateInput属性,在IIS下不起作用
      • IIS 不是该属性的参与者。它是核心 ASP.NET 引擎,所以这无关紧要。您是否将其部署到 IIS 6?如果是这样,您需要考虑:haacked.com/archive/2008/11/26/…
      • 我在 IIS 5.1 上运行它 - 我的意思是当我在 vs 开发服务器下运行 Web 时,ValidateInput 属性会有所帮助,但在 IIS 下没有
      • 您是否配置为在 5.1 下部署它? itscommonsensestupid.blogspot.com/2008/11/…
      • 是的,正如所提到的,干净的 url 可以工作,除了这个问题,一切看起来都很好
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      相关资源
      最近更新 更多