我希望能够隐藏我的DotNet 2.0网站中存在的文件夹,该网站通过IIS 7.5托管,其中包含必须继续可访问的文件。例如,我希望某人的网络浏览器能够检索文件domain.com/css/style.css(呈现页面所需的文件)但是如果该人试图访问URL domain.com/css/或domain.com/css我希望他们收到404错误。 (不是403错误)
默认情况下,IIS 7.5会发出403错误,但仍然允许攻击者知道该文件夹是否存在。 我意识到攻击者可以通过访问浏览器中的网站并查看从“css”文件夹中提取文件,轻松发现“css”文件夹的存在。也就是说,这是我必须遵守的项目要求。
在IIS6中,我曾经能够为该文件夹设置隐藏属性,这将给出我想要的404行为,但在IIS7.5中不再是这种情况。 (如果我尝试这样做,IIS 7.5会出现500错误) IIS 7.5是此项目的另一个要求。此外,在IIS6中,我希望能够创建一个通配符映射,这将导致所有请求通过DotNet然后允许我创建404,但是再次,这似乎不适用于IIS7.5。
我已经尝试在web.config(node)中创建处理程序,该处理程序可以在我的登台系统上运行,但不能在我的生产系统上运行。此外,这种方法看起来有点过分,因为我必须创建一个c#处理程序,并在web.config中为我要隐藏的每个文件夹都有一个处理程序条目。我想要一个更简单的解决方案,但是,解决方案似乎无法在我的生产系统上运行。
理想情况下,对不包含前瞻性斜杠的文件夹的请求不应导致301重定向,但也应导致404。
答案 0 :(得分:0)
您总是可以将处理程序/ ASPX页面作为目录的默认页面,并让该处理程序返回404错误代码。