在Ubuntu上使用Apache2实现防盗链,可以通过配置.htaccess
文件来限制访问来源。以下是具体步骤:
1. 创建或编辑 .htaccess
文件
首先,找到你想要保护的图片或视频所在的目录。如果该目录下没有 .htaccess
文件,可以创建一个。
cd /path/to/your/directory touch .htaccess nano .htaccess
2. 添加防盗链规则
在 .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状态码,并停止进一步处理。
3. 保存并退出
按 Ctrl + X
,然后按 Y
确认保存,最后按 Enter
退出编辑器。
4. 测试防盗链
将图片或视频的URL复制到其他域名的网页中,尝试访问这些图片或视频。如果来源不是你的域名,应该会看到403 Forbidden错误。
注意事项
- 确保你的Apache服务器已经启用了
mod_rewrite
模块。可以通过以下命令启用:sudo a2enmod rewrite sudo systemctl restart apache2
- 如果你使用的是HTTPS,确保
RewriteCond
中的域名也包含https://
。 - 你可以根据需要调整允许的域名列表,例如:
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?anotherdomain\.com [NC]
通过以上步骤,你可以在Ubuntu上使用Apache2实现基本的防盗链功能。