我知道IIS7允许我使用web.config xml文件进行每个目录配置.我有一个目录,其中包含一些不希望Web访问的配置文件.一个本地web.config文件禁止对它的读访问将是一个很好的解决方案.
web.config文件的内容应该禁止对文件进行Web访问?
编辑:我正在尝试将包含这些内容的web.config文件放在一个文件中:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <authorization> <deny users="*" /> <!-- Denies all users --> </authorization> </system.web> </configuration>
但我仍然可以直接访问目录中的文件.它出什么问题了?如何调试正在发生的事情?
解决方法
你正在使用system.web.在IIS7中,您应该使用system.webServer.这将阻止所有类型的文件,而不仅仅是ASP.NET文件.例如,您可以使用密码保护jpg,gif,txt和所有类型的文件.
它看起来像这样:
<system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="Administrators" /> </authorization> </security> </system.webServer>
如果你想只为1个文件设置它:
<location path="dontlook.jpg"> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="Administrators" /> </authorization> </security> </system.webServer> </location>