从安全角度来看,有必要为我们禁用目录浏览,但是我们已经从IIS
禁用了此功能,但是它通过在目录末尾添加斜杠来将目录请求重定向为301(永久移动)。 URL的末尾。
通过这种方式,黑客可能会发现我们不喜欢的目录和子目录位置!
如何防止在现有目录的URL末尾添加斜杠?
答案 0 :(得分:0)
我使用HttpApplication.BeginRequest Event 解决了这个问题。当对目录的请求到达时,检查给定Request.PhysicalPath
位置中的目录是否存在,以指定该请求是否针对目录。
我共享代码,也许可以帮助某人:
public void OnApplicationBeginRequest(HttpApplication app)
{
if (app.Request.CurrentExecutionFilePath!="/"&& System.IO.Directory.Exists(app.Request.PhysicalPath))
{
app.Response.StatusCode = 404;
app.CompleteRequest();
}
}
但是,这对我来说很完美,但是也许我很高兴知道使用IIS模块有更好的解决方案。 :)