You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免IIS中黑客通过错误码判断目录是否存在?

在IIS中统一返回403错误以隐藏目录存在性

可以实现。通过IIS的URL重写模块或自定义错误页配置,就能让访问不存在的目录时也返回403,而非默认的404,避免黑客通过错误码识别目录是否存在。

方法一:使用URL重写模块(推荐,精准针对目录请求)

  1. 打开IIS管理器,定位到目标站点,进入「URL重写」功能
  2. 点击「添加规则」,选择「空白规则」,按以下配置:
    • 规则名称:HideDirectoryExistence(自定义即可)
    • 匹配URL:
      • 请求路径:Matches the Pattern
      • 使用:Regular Expressions
      • 模式:^(.+)/$(匹配所有以斜杠结尾的目录请求)
    • 条件:
      • 添加第一个条件:输入{REQUEST_FILENAME},检查方式选Is a directory,逻辑选否(针对不存在的目录)
      • 添加第二个条件:输入{RESPONSE_STATUS},检查方式选Matches the Pattern,模式填404
    • 操作:
      • 操作类型:Custom Response
      • 状态代码:403
      • 状态描述:Forbidden
      • 响应内容:可自定义403页面内容,或留空使用IIS默认页面
  3. 保存规则后,访问不存在的目录时,系统会返回403错误

方法二:配置全局自定义错误页(简单,但覆盖所有404请求)

  1. 在IIS管理器中,进入目标站点的「错误页」功能
  2. 找到状态码404的条目,点击「编辑」
  3. 选择「自定义响应」,将状态代码改为403,可选指定自定义403页面的物理路径或URL
  4. 保存配置后,所有原本返回404的请求(包括不存在的文件和目录)都会返回403

注意事项

  • 方法一仅针对目录请求生效,不会影响不存在的文件返回404,更精准;方法二会让所有404请求返回403,适合需要完全隐藏资源不存在信息的场景
  • 配置完成后,务必测试:访问存在但无权限的目录(如/admin/)确认返回403,访问不存在的目录(如/admindoesnotexist/)也确认返回403

内容的提问来源于stack exchange,提问作者Vikrant Shitole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:01:08