在Ubuntu上使用Apache2实现防盗链,可以通过配置.htaccess文件来限制访问来源。以下是具体步骤:
.htaccess 文件首先,找到你想要保护的图片或视频所在的目录。如果该目录下没有 .htaccess 文件,可以创建一个。
cd /path/to/your/directory
touch .htaccess
nano .htaccess
在 .htaccess 文件中添加以下内容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif|bmp|swf)$ - [F,L]
解释:
RewriteEngine On:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP请求头中的Referer字段,如果不是来自你的域名(包括子域名),则执行下一步。RewriteCond %{HTTP_REFERER} !^$:确保Referer字段不为空。RewriteRule \.(jpg|jpeg|png|gif|bmp|swf)$ - [F,L]:如果满足上述条件,则返回403 Forbidden状态码,并停止进一步处理。按 Ctrl + X,然后按 Y 确认保存,最后按 Enter 退出编辑器。
将图片或视频的URL复制到其他域名的网页中,尝试访问这些图片或视频。如果来源不是你的域名,应该会看到403 Forbidden错误。
mod_rewrite模块。可以通过以下命令启用:sudo a2enmod rewrite
sudo systemctl restart apache2
RewriteCond中的域名也包含https://。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?anotherdomain\.com [NC]
通过以上步骤,你可以在Ubuntu上使用Apache2实现基本的防盗链功能。