在 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 實現防盜鏈功能。