Iis

IIS 總是可以使用哪些文件副檔名?

  • July 24, 2010

我們正在為我們自己的應用程序提供文件,以便從 Web 伺服器(包括 IIS)下載。一個這樣的文件具有.config副檔名。事實證明 IIS 不會提供此服務,因為它認為它是自己的配置文件。我正在考慮使用just.configuration來代替。這會好嗎?是否有從 IIS 提供服務的“禁止”擴展列表?

是的,有一個名為 Request Filtering 的要阻止的擴展列表,您可以執行:appcmd list config -section:system.webServer/security/requestFiltering 您將看到如下內容: … …

在我的 Windows 7 機器中,列表包括:

.asa、.asax、.ascx、.master、.skin、.browser、.sitemap、.config、.cs、

.csproj、.vb、.vbproj、.webinfo、.licx ,.resx, .resources,.mdb,.vjsproj,

.java,.jsl,.ldb,.dsdgm,.ssdgm, .lsad,.ssmap,.cd,.dsprototype,

.lsaprototype,.sdm, .sdmDocument,. mdf,.ldf,.ad,.dd,.ldd,.sd,

.adprototype, .lddprototype,.exclude,.refresh,.compiled,.msgx,.vsdisco

請注意,您還可以在您的應用程序中指定更多副檔名或允許其他副檔名,這些副檔名在您的文件夾中使用 web.config 可能不允許。

警告不要這樣做,因為 .config 文件可能包含敏感資訊。

例如,如果您將 web.config 放入應用程序中,其中包含以下內容,它將允許使用者下載 .config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
       <security>
           <requestFiltering>
               <fileExtensions>
                   <remove fileExtension=".config" />
               </fileExtensions>
           </requestFiltering>
       </security>
 </system.webServer>
</configuration>

有關詳細資訊,請參閱:http ://www.iis.net/configReference/system.webServer/security/requestFiltering

最後,如果您要使用一些隨機副檔名,您需要確保 IIS 也知道要使用的 mime 類型,並且知道如果您想允許靜態文件下載將使用的副檔名,並且需要在staticContent 部分(appcmd list config -section:system.webServer/staticContent)。您也可以像上面一樣在 web.config 中配置它。

引用自:https://serverfault.com/questions/163396