首页/安全/漏洞与攻击面速查/上传目录禁止执行配置
Web 漏洞原理与防护55 条

上传目录禁止执行配置

即使文件校验再细,也应让上传目录无法被 Web 服务器解析:Nginx 用 location 拦截脚本解析,Apache 用 RemoveHandler 等关闭处理,形成第二道防线。

漏洞与攻击面速查安全更新于 2026-10-12

Nginx:上传目录禁执行

Nginx:上传目录禁执行
location ^~ /uploads/ {
    # 命中脚本扩展名直接拒绝
    location ~* \.(php|php5|phtml|jsp|asp|aspx)$ {
        deny all;
    }
}

Apache:关闭目录内脚本处理

Apache:关闭目录内脚本处理
<Directory /var/www/html/uploads>
    Options -ExecCGI -Indexes
    RemoveHandler .php .phtml .php5
    RemoveType .php .phtml .php5
    php_flag engine off
</Directory>
上传目录与静态资源目录分离,使用独立路径前缀,便于统一加防护规则。

易错点

  • 规则写在错误的 location 层级(被更宽的规则覆盖)导致不生效:改完要用实际请求验证 403

数据来源与参考

  • Nginx 官方文档(location 指令)
  • Apache HTTP Server 文档(RemoveHandler)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌