Ubuntu中配置Apache2防盗链与基础反盗版
一 核心思路与适用范围
二 方案一 使用mod_rewrite在目录或VHost中配置防盗链
<IfModule mod_rewrite.c>
RewriteEngine On
# 允许的域名(可多行追加)
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yourdomain\.com [NC]
# 可选:允许空Referer(部分浏览器/直接访问会是空)
RewriteCond %{HTTP_REFERER} !^$
# 对常见静态资源生效
RewriteRule \.(jpg|jpeg|png|gif|webp|mp4|pdf)$ - [F,L]
</IfModule>
说明:
三 方案二 使用SetEnvIf与访问控制(适用于目录级策略)
<Directory "/var/www/html">
# 白名单:允许的域名
SetEnvIf Referer "^https?://(www\.)?yourdomain\.com$" allow_ref
# 可选:允许空Referer(按需开启)
SetEnvIf Referer "^$" allow_ref
# 仅放行白名单
Order Allow,Deny
Allow from env=allow_ref
# Deny from all 隐含
</Directory>
四 测试与常见问题
方式引用;或从浏览器直接打开资源URL并伪造Referer头(如使用开发者工具或curl -H “Referer: https://bad.com”)。正常应返回403。五 进阶与综合防护建议