配置IIS以返回404以进行目录浏览尝试

Tom*_*gan 9 asp.net iis

在IIS(6或7)中,当禁用目录浏览时,IIS在检测到尝试浏览目录时返回"403 - 禁止"错误(例如" http://mydomain.com/folder ").

有没有办法配置IIS以返回"404 - Not Found"错误而不是"403"用于目录浏览尝试?

这是一个asp.net webforms网站.

我们网站的安全扫描指出,返回"403"可以帮助恶意人员映射我们的网站; 之前没有想到这一点,但我不得不承认这是有道理的.

小智 9

如果您使用的是ASP.Net MVC,请将以下处理程序添加到web.config中

<system.webServer>
  <handlers>
    <add name="StopDirectoryBrowsing" path="*." resourceType="Directory" verb="*" 
         preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
  </handlers>
<system.webServer>
Run Code Online (Sandbox Code Playgroud)


小智 3

对我们有用的解决方案(IIS7):

  1. 禁用目录浏览=> 403
  2. 创建一个默认文档(default.htm 或配置的任何默认文件名)=> 200
  3. 将默认文档的文件属性设置为隐藏 => 404