在 CentOS 系统上,使用 Apache 服务器实现防盗链的方法有很多种。这里介绍一种常用的方法:使用 mod_rewrite 模块来实现防盗链。
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
.htaccess
文件,放在需要防盗链的目录下。例如,如果需要保护名为 protected_images
的目录,可以在该目录下创建一个 .htaccess
文件:cd /path/to/protected_images
touch .htaccess
.htaccess
文件,添加以下内容:RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
将 yourdomain.com
替换为你自己的域名。这段代码的意思是,如果访问者的 HTTP_REFERER 不是以你的域名开头的,那么访问者将无法访问这个目录下的图片文件。
.htaccess
文件并退出文本编辑器。现在,当有人尝试从其他域名访问 protected_images
目录下的图片时,将会收到 403 Forbidden 错误。
注意:这种方法并不是绝对安全的,因为 HTTP_REFERER 可以被伪造。但在大多数情况下,这种方法足以满足防盗链的需求。