以下是在Ubuntu上使用Apache2配置防盗版(防盗链)的常见方法:
启用模块
sudo a2enmod rewrite
sudo systemctl restart apache2
配置规则
方式1:通过.htaccess文件(需确保AllowOverride All
已启用)
在网站根目录(如/var/www/html
)创建或编辑.htaccess
文件,添加:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]
将yourdomain.com
替换为实际域名,可添加多个域名用|
分隔。
方式2:通过虚拟主机配置
编辑/etc/apache2/sites-available/yourdomain.conf
,在<VirtualHost>
块中添加:
<Directory /var/www/html>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
重启服务
sudo systemctl restart apache2
安装模块
sudo apt install libapache2-mod-security2
sudo a2enmod security2
配置规则
编辑/etc/modsecurity/modsecurity.conf
,添加规则(示例为禁止非授权域名访问图片):
SecRule REQUEST_FILENAME "\.(jpg|jpeg|png|gif)$" \
"id:1001,phase:2,deny,status:403,msg:'Unauthorized image access'"
重启服务
sudo systemctl restart apache2
/var/log/apache2/access.log
,识别异常访问。mod_ssl
模块)防止中间人攻击,但这不属于防盗版核心手段。Referer
字段验证规则有效性。参考来源: