2012-01-16 29 views

回答

0

這裏是解決方案:

第一:它不會造成安全漏洞,如果你訪問/web.config,你會得到

HTTP Error 404.8 - Not Found 
The request filtering module is configured to deny a path in the URL that contains a hiddenSegment section. 

除非你改變路線的hiddenSegment

這裏是溶液,然後在web.config文件:

<system.webServer> 
    <handlers> 
     <add name="Static-Favicon" path="favicon.ico" verb="GET" modules="StaticFileModule" resourceType="File" requireAccess="Read" /> 
     <add name="Static-Robot" path="robots.txt" verb="GET" modules="StaticFileModule" resourceType="File" requireAccess="Read" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
</system.webServer> 

靜態,網站圖標和靜態,機器人可以被刪除,如果你喜歡你的MVC處理這兩個文件也是如此。

順便說一句,你仍然需要<remove extension=".svc" />處理SVC文件,並在網址

0

這是一個非常非常糟糕的主意。你希望人們能夠下載你的web.config?看到你的密碼?下載你的數據庫? IIS和MVC故意阻止多種擴展,因爲不這樣做是非常不安全的。

+0

它可以開門relaxedUrlToFileSystemMapping特殊的代碼,但我可以事後阻止資源。我的問題是如何,而不是爲什麼 – 2012-01-16 01:41:07

+0

順便說一句,有一個system.webServer/securityrequestfiltering這個安全的目的無論如何 – 2012-01-16 01:46:38

+0

@EricYin - 我指的是你所說的能夠「允許任何類型的文件」。如果你明白爲什麼這是一個壞主意,那麼也許你不應該問這個問題,而是如何讓你想要的文件類型。這是一個不同的故事。 – 2012-01-16 07:37:02