我有一个安装了 IIS7.5 的 Windows 2008 R2 服务器。我需要通过 WebDAV 为用户提供对某些目录树的读写访问权限。相同的用户还可以通过其他方式访问相同的目录 - FTP、SFTP、CIFS 等。
我的目标:我不希望有人能够上传/修改已发布文件夹中的 web.config 文件,从而修改 IIS 的行为。如果创建了这样的文件,IIS 应该简单地将其视为任何其他文件。
是否可以将站点的所有设置集中在 applicationHost.config 或已发布树之外的任何其他文件中,并使 IIS 忽略任何其他 web.config 文件?
谢谢!
找到相关设置 - 它称为allowSubDirConfig。它可以在
virtualDirectoryDefaults
元素中指定(适用于所有站点) ,也可以virtualDirectory
在文件中的元素中指定applicationHost.config
。例子:
web.config
/Temp 虚拟目录下的文件不会被检查。还有其他一些方法: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
避免用户使用 WebDav 修改 web.config 文件的一种简单方法是使用 WebDav 创作规则。只需在所有其他规则之上创建一个规则,该规则为所有用户提供对 web.config 文件的无权限。
更多详细信息:如果您通过 GUI 启用和配置了 WebDav,您应该已经知道 [WebDav Authoring Rules] 是通过 IIS GUI 上的图标访问的。首先,您在站点级别进入该部分以启用 WebDav,然后再次进入 WebDav 文件夹级别的 [WebDav 创作规则] 部分,以添加规则以授予用户/组访问此文件夹上的 [所有文件] 的权限。在输入该规则之前,您添加一个仅适用于 [web.config] 文件的 [All Users],并且未选中所有权限。因此,该规则位于顶部,并且优先于提供访问权限的规则,因此没有人可以使用 WebDav 修改 web.config 文件。如果需要,您还可以在创建后修改规则的顺序。
在此页面中,描述了如何为 WebDav 配置站点。我使用了 GUI 方法。如果您遵循这一点,那么该部分的位置很明显:https ://www.server-world.info/en/note?os=Windows_Server_2019&p=iis&f=9