Windows-Server-2008
如何禁止使用 web.config 文件?
我有一個安裝了 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