在Linux Apache2服务器上实现防盗链,可以通过配置Apache的.htaccess文件或者直接修改Apache的主配置文件来实现。防盗链的基本原理是检查HTTP请求头中的Referer字段,以确定请求是否来自允许的域名。如果请求来自不允许的域名,服务器将返回一个错误页面或者原始图片的一个占位符。
以下是一些实现防盗链的方法:
.htaccess文件打开或创建一个.htaccess文件,通常位于网站的根目录下。
在.htaccess文件中添加以下代码:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
将yourdomain.com替换为你的域名。这段代码的意思是,如果请求的图片文件(如.jpg, .jpeg, .png, .gif)的Referer不是来自yourdomain.com,则返回403 Forbidden状态码。
打开Apache的主配置文件,通常位于/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf。
在<Directory>或<Location>块中添加以下代码:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
同样,将yourdomain.com替换为你的域名。
sudo systemctl restart apache2
或者
sudo service apache2 restart
Referer字段可以被浏览器或代理服务器修改。更高级的防盗链方法可能需要使用签名或加密技术。.htaccess文件覆盖配置。在Apache主配置文件中,检查AllowOverride指令是否设置为All或至少为FileInfo。通过以上方法,你可以在Linux Apache2服务器上实现基本的防盗链功能。