簡體   English   中英

在IIS下運行時ValidateInput(false)似乎不起作用

[英]ValidateInput(false) doesn't seem to work when running under IIS

當我在VS dev服務器下運行ASPNet MVC 2 Preview 1網站時,當我使用“ 獲取 ”表單方法進行表單發布時,它的工作就很好了-表單的文本框帶有帶尖括號的文本(例如:“ i < 10;“)

但是,在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. 在主Web.Config的Views-> Web.config上設置的ValidateRequest =“ false”
  2. 在Controller類以及所有Action方法上設置的ValidateInput(false)屬性

這兩個選項均不能幫助解決問題。

任何幫助表示贊賞

您的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看起來是一個不錯的起點。

web.config中ValidateRequest的更改在ASP.NET MVC中無效。 默認情況下啟用它,您需要使用屬性來啟用/禁用它。

請參閱此參考資料:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM