centos

CentOS Apache2如何实现防盗链

小樊
35
2025-03-15 14:57:08
栏目: 智能运维

在 CentOS 系统上,使用 Apache2 实现防盗链可以通过配置 .htaccess 文件来实现。以下是一些常见的防盗链方法:

方法一:基于 Referer 的防盗链

  1. 创建或编辑 .htaccess 文件: 在你的网站根目录下创建或编辑 .htaccess 文件。

    nano /path/to/your/website/.htaccess
    
  2. 添加防盗链规则: 在 .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 状态码。

方法二:基于 IP 的防盗链

  1. 创建或编辑 .htaccess 文件: 在你的网站根目录下创建或编辑 .htaccess 文件。

    nano /path/to/your/website/.htaccess
    
  2. 添加防盗链规则: 在 .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 的防盗链

  1. 生成 Token: 你可以使用 PHP 或其他服务器端语言生成一个唯一的 Token,并将其存储在数据库或文件中。

  2. .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 状态码。

注意事项

通过以上方法,你可以在 CentOS 系统上使用 Apache2 实现防盗链功能。

0
看了该问题的人还看了