在 CentOS 系统上,使用 Apache2 实现防盗链可以通过配置 .htaccess
文件来实现。以下是一些常见的防盗链方法:
创建或编辑 .htaccess
文件:
在你的网站根目录下创建或编辑 .htaccess
文件。
nano /path/to/your/website/.htaccess
添加防盗链规则:
在 .htaccess
文件中添加以下内容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查请求的 Referer 是否不是你的域名(忽略大小写)。RewriteCond %{HTTP_REFERER} !^$
:确保 Referer 不为空。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果 Referer 不符合条件,则返回 403 Forbidden 状态码。创建或编辑 .htaccess
文件:
在你的网站根目录下创建或编辑 .htaccess
文件。
nano /path/to/your/website/.htaccess
添加防盗链规则:
在 .htaccess
文件中添加以下内容:
Order Deny,Allow
Deny from all
Allow from 192.168.1.1 # 替换为你允许访问的 IP 地址
解释:
Order Deny,Allow
:设置拒绝所有请求,然后允许特定 IP 访问。Deny from all
:拒绝所有 IP 访问。Allow from 192.168.1.1
:允许特定 IP 地址访问(替换为你允许的 IP 地址)。生成 Token: 你可以使用 PHP 或其他服务器端语言生成一个唯一的 Token,并将其存储在数据库或文件中。
在 .htaccess
文件中添加规则:
在 .htaccess
文件中添加以下内容:
RewriteEngine On
RewriteCond %{QUERY_STRING} !token=your_unique_token [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{QUERY_STRING} !token=your_unique_token [NC]
:检查 URL 中是否包含特定的 Token(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果 Token 不符合条件,则返回 403 Forbidden 状态码。.htaccess
文件:在修改 .htaccess
文件之前,建议先备份原始文件。通过以上方法,你可以在 CentOS 系统上使用 Apache2 实现防盗链功能。