在Ubuntu上使用Apache服务器实现防盗链,可以通过配置Apache的.htaccess
文件来实现。以下是详细的步骤:
.htaccess
文件首先,找到你的网站根目录(通常是/var/www/html
),然后在该目录下创建或编辑.htaccess
文件。
sudo nano /var/www/html/.htaccess
在.htaccess
文件中添加以下内容:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [F,L]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP请求头中的Referer
字段,如果不是来自允许的域名,则执行下一条规则。RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
:同上,但检查HTTPS请求。RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [F,L]
:阻止对指定图片格式的访问,并返回403 Forbidden状态码。按Ctrl + X
,然后按Y
确认保存,最后按Enter
退出编辑器。
将你的图片链接放在其他网站上,然后尝试访问这些链接。如果来源不是你允许的域名,你应该会看到403 Forbidden错误。
确保你的Apache服务器已经启用了mod_rewrite
模块。你可以通过以下命令启用它:
sudo a2enmod rewrite
修改.htaccess
文件后,需要重启Apache服务器以使更改生效:
sudo systemctl restart apache2
通过以上步骤,你就可以在Ubuntu上的Apache服务器上实现基本的防盗链功能。根据需要,你可以调整允许的域名列表和阻止的资源类型。