溫馨提示×

Ubuntu Apache如何實現防盜鏈功能

小樊
53
2025-04-12 03:57:46
欄目: 智能運維

在Ubuntu上使用Apache服務器實現防盜鏈功能,可以通過配置Apache的.htaccess文件或直接編輯Apache的主配置文件來實現。以下是兩種常見的方法:

方法一:使用 .htaccess 文件

  1. 創建或編輯 .htaccess 文件: 在你的網站根目錄下創建一個名為 .htaccess 的文件(如果已經存在,則直接編輯它)。

  2. 添加防盜鏈規則: 在 .htaccess 文件中添加以下內容:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
        RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
    </IfModule>
    

    解釋:

    • RewriteEngine On:啟用重寫引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:檢查請求的Referer頭是否不是來自你的域名(不區分大小寫)。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果Referer不符合條件,則返回403 Forbidden狀態碼,并停止進一步處理。

    你可以根據需要調整文件擴展名和域名。

方法二:編輯 Apache 主配置文件

  1. 找到 Apache 配置文件: 通常位于 /etc/apache2/apache2.conf/etc/apache2/sites-available/your-site.conf。

  2. 添加防盜鏈規則: 在 <Directory><Location> 塊中添加以下內容:

    <Directory "/var/www/html">
        RewriteEngine On
        RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
        RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
    </Directory>
    

    解釋與方法一相同。

  3. 重啟 Apache 服務: 保存配置文件后,重啟Apache服務以使更改生效:

    sudo systemctl restart apache2
    

注意事項

  • 確保你的Apache服務器啟用了 mod_rewrite 模塊。你可以通過以下命令啟用它:

    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
  • 防盜鏈規則可能會影響正常用戶的訪問,因此請確保你的規則不會誤傷合法用戶。

  • 如果你的網站使用的是HTTPS,請確保Referer頭的檢查也適用于HTTPS。

通過以上方法,你可以在Ubuntu上的Apache服務器上實現基本的防盜鏈功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女