在CentOS系统中,使用Apache服务器设置防盗链可以通过配置.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} !^https://(www\.)?yourdomain\.com [NC] # 不允许访问的文件类型 RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解释:
RewriteEngine On
:启用URL重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP请求头中的Referer
字段,如果不是来自指定的域名(例如yourdomain.com
),则执行下一条规则。RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
:同上,但针对HTTPS请求。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果请求的文件是图片类型(如.jpg
,.jpeg
,.png
,.gif
),则返回403 Forbidden状态码,并停止进一步处理。
3. 保存并退出
保存文件并退出编辑器。
4. 测试防盗链设置
尝试从不同的域名访问受保护的图片,确保只有来自指定域名的请求能够成功访问图片。
注意事项
- 确保你的Apache服务器启用了
mod_rewrite
模块。你可以通过以下命令启用它:sudo a2enmod rewrite sudo systemctl restart httpd
- 如果你使用的是Nginx服务器,防盗链的设置方式会有所不同,需要使用Nginx的配置文件来实现。
通过以上步骤,你可以在CentOS系统上使用Apache服务器设置防盗链,保护你的图片资源不被未经授权的网站引用。