在Ubuntu上使用Apache2實現防盜鏈,可以通過配置Apache的.htaccess
文件來實現。以下是詳細的步驟:
.htaccess
文件首先,你需要找到你的網站根目錄,并在該目錄下創建或編輯 .htaccess
文件。通常,這個文件位于 /var/www/html/yourdomain.com/
。
sudo nano /var/www/html/yourdomain.com/.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
字段,如果不是來自你允許的域名,則執行下一條規則。RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
:同上,但檢查HTTPS請求。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果上述條件滿足,則阻止訪問圖片文件(可以根據需要調整文件類型)。保存文件并退出編輯器。
Ctrl + X
Y
Enter
為了使更改生效,需要重啟Apache服務器。
sudo systemctl restart apache2
現在,嘗試從不允許的域名訪問你的圖片文件,應該會被阻止。例如,如果你在瀏覽器中直接訪問 http://yourdomain.com/images/example.jpg
,并且該請求不是來自 yourdomain.com
,則應該會看到一個403 Forbidden錯誤。
.htaccess
文件中配置的域名一致。RewriteCond
中添加相應的子域名。通過以上步驟,你就可以在Ubuntu上使用Apache2實現基本的防盜鏈功能。