# uploads/ —— 整个目录**禁止 Web 直接访问**。
#
# 为什么从"只禁脚本"升级成"全禁"：
#   原本只挡了 .php 之类的可执行扩展名，其余文件（头像、附件、以及
#   历史遗留的 *.{sql,txt,log,zip} 之类）都能被**任何人**按地址直接下载 ——
#   只要文件名泄出去（分享过链接、日志里出现过、被爬过），就等于公开。
#   排查这类事故时还会遇到"备份文件其实是原样吐出的源码"那种更糟的情况。
#
# 现在所有附件一律经 media.php 代理出去：
#   · 是否可见由**登录态**决定，而不是"知道文件名"；
#   · 云端桶也可设成私有，不必为了显示图片开公共读。
#
# ⚠️ 这条规则不是"多一道保险"而是"唯一的门"—— media.php 读文件走的是
#    文件系统（PHP 进程），不受 .htaccess 影响，所以功能不会因此受损。
#    若哪天发现图片不显示，先看 media.php 有没有报错，别急着重开直连。

# Apache 2.4
<IfModule mod_authz_core.c>
  Require all denied
</IfModule>
# Apache 2.2
<IfModule !mod_authz_core.c>
  Order allow,deny
  Deny from all
</IfModule>

# 关掉目录列表
Options -Indexes

# 顺带把可能的备份/临时文件也点名拒掉（防"规则文件被自己的副本绕过"）
<FilesMatch "(^\.|~$|\.(bak|bak\.[0-9]+|old|orig|save|swp|tmp|log|sql|zip|tar|gz)$)">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
  </IfModule>
</FilesMatch>
