Windows-Server-2008

如何禁止使用 web.config 文件?

  • July 22, 2021

我有一個安裝了 IIS7.5 的 Windows 2008 R2 伺服器。我需要通過 WebDAV 為使用者提供對某些目錄樹的讀寫訪問權限。相同的使用者還可以通過其他方式訪問相同的目錄 - FTP、SFTP、CIFS 等。

我的目標:我不希望有人能夠上傳/修改已發布文件夾中的 web.config 文件,從而修改 IIS 的行為。如果創建了這樣的文件,IIS 應該簡單地將其視為任何其他文件。

是否可以將站點的所有設置集中在 applicationHost.config 或已發布樹之外的任何其他文件中,並使 IIS 忽略任何其他 web.config 文件?

謝謝!

找到相關設置 - 它稱為allowSubDirConfig。它可以在virtualDirectoryDefaults元素中指定(適用於所有站點) ,也可以virtualDirectory在文件中的元素中指定applicationHost.config

例子:

<configuration>
   <system.applicationHost>
      <sites>
           <site name="Default Web Site" id="1" serverAutoStart="true">
               <application path="/">
                   <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
                   <virtualDirectory path="/Temp" physicalPath="C:\TempRoot" allowSubDirConfig="false" />
               </application>
           <applicationDefaults applicationPool="DefaultAppPool" />
           <virtualDirectoryDefaults allowSubDirConfig="true" />
       </sites>
   </system.applicationHost>
</configuration>

web.config/Temp 虛擬目錄下的文件不會被檢查。

還有其他一些方法:http: //www.sourceinaction.com/blog/web.config-dependencies-for-multiple-asp.net-web-applications

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