【发布时间】:2012-03-06 15:53:25
【问题描述】:
我为我的 Web 应用程序设置了一个虚拟目录(称为“文件”)。该目录用于存放用户文件上传以及我们提供的官方下载。
我想防止“文件/用户上传”目录中的任何文件被提供给用户。由于文件是使用 GUID 创建的,因此用户想出正确的文件名来请求文件将非常困难(即永远不会发生),但我仍然想禁止它。
如何阻止 IIS 提供虚拟目录中的文件?
【问题讨论】:
我为我的 Web 应用程序设置了一个虚拟目录(称为“文件”)。该目录用于存放用户文件上传以及我们提供的官方下载。
我想防止“文件/用户上传”目录中的任何文件被提供给用户。由于文件是使用 GUID 创建的,因此用户想出正确的文件名来请求文件将非常困难(即永远不会发生),但我仍然想禁止它。
如何阻止 IIS 提供虚拟目录中的文件?
【问题讨论】:
将 web.config 文件添加到拒绝所有用户访问该目录的目录。
它应该看起来像这样:
IIS 7:
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
</authorization>
</security>
</system.webServer>
这是另一个可能有帮助的 SO 帖子: https://serverfault.com/questions/72680/iis7-how-to-block-access-with-a-web-config-file
【讨论】: