在 CentOS 系统中,使用 Apache 服务器实现防盗链的方法有很多种,这里介绍一种常用的方法:使用 mod_rewrite 模块实现防盗链。
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start httpd
/etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.d/ 目录下的某个文件)中,找到 <Directory> 部分,添加以下代码:<Directory "/var/www/html">
AllowOverride All
</Directory>
这将允许在网站目录中使用 .htaccess 文件来覆盖默认配置。
/var/www/html/images 目录下创建一个 .htaccess 文件),并添加以下代码:RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
将 yourdomain.com 替换为你自己的域名。这段代码的意思是,如果访问者请求的资源不是来自你的域名,那么将拒绝访问。
sudo systemctl restart httpd
现在,你的网站已经实现了基本的防盗链功能。请注意,这种方法并不是绝对安全的,因为 HTTP_REFERER 可能会被伪造。但对于大多数情况来说,这种方法已经足够有效。