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

我有安装了IIS7.5的Windows 2008 R2服务器。 我需要通过WebDAV为用户提供对某些目录树的读写访问权限。 同样的用户也可以通过其他方式到达相同的目录 – FTP,SFTP,CIFS等。

我的目标是:我不希望有人能够在发布的文件夹中上传/修改web.config文件,从而修改IIS的行为。 如果创build了这样的文件,IIS应该简单地将其视为任何其他文件。

是否有可能集中在applicationHost.config站点的所有设置或发布树以外的任何其他文件,并使IIS忽略任何其他的web.config文件?

谢谢!

find相关设置 – 它被称为allowSubDirConfig 。 它可以在virtualDirectoryDefaults元素(对于所有站点)中指定,也可以在applicationHost.config文件中的virtualDirectory元素中指定。

例:

 <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> 

/ Temp虚拟目录下的web.config文件不会被检查。

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

在这里看看Anil Ruia的答案: http ://forums.iis.net/t/1161527.aspx?Disable+creating+web+configs+in+each+folder

如果你去applicationhost.config并locking所有的部分(overrideModeDefault =“Deny”),那么IISpipe理器将把所有的IISconfiguration设置写到applicationhost.config(对于asp.netconfiguration设置和根web.config文件是一样的)。 请注意,这将完全阻止某人能够使用web.config文件来覆盖IIS设置 – 而且他们可能会尖叫。