2013-01-25 33 views
0

人們正在外部鏈接到我們的網站,通過傳遞'錯誤參數',實質上是打破了他們鏈接到的頁面。他們通過提供URL這樣做的:如何忽略IIS中的錯誤查詢字符串?

http://domain.com/page.htm?ke&y=value

我們會在參數名稱注意符號。這將導致IIS失敗,出現以下錯誤:

Failed to Execute URL.

at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.BeginExecuteUrl(

我想防止有人從具有功率打破我們的網站,一,二希望用戶能夠訪問他們甚至想要的網頁如果鏈接提供商犯了錯誤。

如何配置IIS執行URL而忽略查詢字符串錯誤?

回答

1

碰巧,這似乎是我們的解決方案的一個怪癖,它最初的目標是.NET 1.1,後來升級到.NET 2.0; .NET 1.1顯然在全局級別(在machine.config中)註冊HttpHandler,它配置StaticFileHandler以處理標準html(* .htm)文件,而.NET 2.0改變了這一點。因此,升級時,如果您沒有在本地應用程序的配置中註冊處理程序,那麼在部署時,IIS將嘗試處理* .htm文件,並在某些情況下死亡(在問題中描述的情況下) 。

然後在溶液中,以添加到您的配置的httpHandlers部分:

<add verb="*" path="*.htm" type="System.Web.StaticFileHandler" /> 

我說似乎因爲自修復這個我從來沒有時間投資再現和記錄。

+0

+1:很好的見解 –