溫馨提示×

如何通過Apache配置實現防盜鏈

小樊
58
2025-03-15 01:50:55
欄目: 編程語言

防盜鏈(Hotlink Protection)是一種防止其他網站直接鏈接到你的服務器上的資源(如圖片、視頻、CSS、JavaScript等),從而節省帶寬和保護資源的技術。通過Apache服務器,你可以使用mod_rewrite模塊來實現防盜鏈。以下是一個基本的防盜鏈配置示例:

  1. 啟用mod_rewrite模塊: 確保你的Apache服務器已經啟用了mod_rewrite模塊。你可以在Apache配置文件(通常是httpd.confapache2.conf)中找到以下行并確保它們沒有被注釋掉:

    LoadModule rewrite_module modules/mod_rewrite.so
    
  2. 配置防盜鏈: 在你的網站根目錄下的.htaccess文件中添加以下配置:

    RewriteEngine On
    
    # 允許的引用站點列表
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^$
    
    # 阻止訪問
    RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]
    

    解釋:

    • RewriteEngine On:啟用重寫引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:檢查請求的引用頁(referrer)是否不是來自你的域名(不區分大小寫)。
    • RewriteCond %{HTTP_REFERER} !^$:確保引用頁不為空。
    • RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]:如果引用頁不符合條件,則返回403 Forbidden狀態碼,并停止進一步處理。
  3. 允許特定域名訪問: 如果你希望允許某些特定的域名訪問你的資源,可以在RewriteCond中添加這些域名:

    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?trusteddomain1\.com [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?trusteddomain2\.com [NC]
    
  4. 測試配置: 保存.htaccess文件并重新加載Apache服務器以應用更改。你可以使用以下命令重新加載Apache:

    sudo systemctl reload apache2
    

    或者如果你使用的是其他系統管理工具,請相應地調整命令。

通過以上步驟,你可以實現基本的防盜鏈功能。根據你的具體需求,你可能需要進一步調整和優化配置。

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