在Ubuntu上使用Apache服務器實現防盜鏈,可以通過配置Apache的.htaccess
文件來實現。以下是詳細的步驟:
.htaccess
文件首先,找到你的網站根目錄(通常是/var/www/html
),然后在該目錄下創建或編輯.htaccess
文件。
sudo nano /var/www/html/.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|ico)$ - [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|ico)$ - [F,L]
:阻止對指定圖片格式的訪問,并返回403 Forbidden狀態碼。按Ctrl + X
,然后按Y
確認保存,最后按Enter
退出編輯器。
將你的圖片鏈接放在其他網站上,然后嘗試訪問這些鏈接。如果來源不是你允許的域名,你應該會看到403 Forbidden錯誤。
確保你的Apache服務器已經啟用了mod_rewrite
模塊。你可以通過以下命令啟用它:
sudo a2enmod rewrite
修改.htaccess
文件后,需要重啟Apache服務器以使更改生效:
sudo systemctl restart apache2
通過以上步驟,你就可以在Ubuntu上的Apache服務器上實現基本的防盜鏈功能。根據需要,你可以調整允許的域名列表和阻止的資源類型。