在Ubuntu上使用Apache2实现防盗链,可以通过配置.htaccess
文件来实现。以下是详细的步骤:
.htaccess
文件首先,找到你想要保护图片、视频或其他资源的目录,并在该目录下创建一个名为 .htaccess
的文件(如果已经存在,则直接编辑)。
cd /path/to/your/directory
nano .htaccess
在 .htaccess
文件中添加以下内容:
RewriteEngine On
# 检查Referer头
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
# 如果Referer不符合条件,返回403 Forbidden
RewriteRule \.(jpg|jpeg|png|gif|swf|mp4|avi|mov)$ - [F]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^$
:检查Referer头是否为空。RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
:检查Referer头是否不是来自你的域名(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif|swf|mp4|avi|mov)$ - [F]
:如果Referer头不符合条件,返回403 Forbidden状态码。保存 .htaccess
文件并退出编辑器。
将一些图片或视频链接放到其他网站上,然后尝试访问这些链接。如果来源网站不是你的域名,你应该会看到403 Forbidden错误。
.htaccess
文件进行重写。你可以在Apache配置文件中检查以下设置:<Directory /path/to/your/directory>
AllowOverride All
</Directory>
RewriteCond
中包含 https://
。RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?(yourdomain\.com|anotherdomain\.com) [NC]
通过以上步骤,你就可以在Ubuntu上的Apache2服务器上实现基本的防盗链功能。