在CentOS系統中,使用Apache服務器設置防盜鏈可以通過配置.htaccess
文件來實現。以下是詳細的步驟:
.htaccess
文件首先,找到你想要保護的圖片或文件的目錄。通常,這個目錄會在網站的根目錄下或者某個特定的子目錄中。
cd /path/to/your/directory
然后,創建一個名為 .htaccess
的文件(如果它還不存在):
touch .htaccess
或者編輯現有的 .htaccess
文件:
nano .htaccess
在 .htaccess
文件中添加以下內容來設置防盜鏈:
RewriteEngine On
# 允許的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
# 拒絕訪問
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解釋:
RewriteEngine On
:啟用重寫引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:檢查HTTP請求頭中的Referer
字段,如果不是來自指定的域名(例如yourdomain.com
),則執行下一條規則。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:拒絕訪問以.jpg
, .jpeg
, .png
, .gif
結尾的文件,并返回403 Forbidden狀態碼。如果你希望允許某些特定的域名訪問你的資源,可以在RewriteCond
中添加這些域名:
RewriteEngine On
# 允許的域名列表
RewriteCond %{HTTP_REFERER} ^http://(www\.)?alloweddomain1\.com [NC]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?alloweddomain2\.com [NC]
# 拒絕訪問
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
保存 .htaccess
文件并退出編輯器。
最后,測試防盜鏈設置是否生效。你可以嘗試從一個不允許的域名訪問你的圖片或文件,看看是否返回了403 Forbidden狀態碼。
確保你的Apache服務器啟用了mod_rewrite
模塊。你可以通過以下命令啟用它:
sudo a2enmod rewrite
sudo systemctl restart httpd
.htaccess
文件的權限設置也很重要。確保它具有適當的讀寫權限:
chmod 644 .htaccess
通過以上步驟,你應該能夠在CentOS系統上使用Apache服務器成功設置防盜鏈。