我有一个WebSite,我想拒绝目录浏览器从一个的web.config文件。
在这里,我使用的代码放在根目录中。不起作用。我正在本地测试它,所以使用像http://localhost:3214/这样的网址,我仍然可以浏览CMS的目录。
多谢你们的支持!
<configuration>
<location path="Cms">
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</location>
</configuration>
一些资源:
http://www.expta.com/2008/03/configuring-virtual-directories-with.html
发布于 2011-04-05 17:02:33
首先:并不是所有的东西都能在<location>
块中工作。
我找不到<location>
中不支持<system.webServer>
的肯定说法,但我也找不到任何建议允许它的情况。这方面的证据在(全局) machine.config
中,其中system.webserver
部分被定义为使用IgnoreSection
处理程序: ie。它不是由标准System.Configuration
实现处理的,而是为<location>
提供支持的配置处理的标准实现。
尝试使用directoryBrowse
元素在Cms
文件夹中添加web.config
,以确认已阻止浏览。
发布于 2011-04-05 16:58:41
Gibbok,这里没什么问题,不要惊慌:)
假设您是从Visual Studio中的内置服务器浏览您的网站,这通常是正常的情况。
我非常确定,如果您使用上面的代码迁移到IIS,目录浏览的行为将与您希望的一样。
试一试,在IIS中托管这个网站,并让我们知道发生了什么,谢谢。
发布于 2011-05-20 05:46:41
我也在尝试同样的代码。你所拥有的实际上是正确的。这是reference。
当然,它对我不起作用,我也不知道为什么,直到我读了理查德的帖子,才想起有人在那个目录中放了一个web.config文件。该文件将覆盖主web.config文件中的行为。在子目录web.config中,directoryBrowse选项被显式打开(以及许多其他处理程序)。删除这个文件,你上面的工作对我来说是有效的。它实际上将请求传递给下一个处理程序,这正是我想要的。
我在本地计算机上使用IIS 7。
https://stackoverflow.com/questions/5549374
复制相似问题