在Apache服務器中,可以通過配置.htaccess
文件或直接在httpd.conf
文件中添加規則來實現防盜鏈功能。防盜鏈的主要目的是防止其他網站未經許可就使用你的圖片、視頻等資源。
以下是實現防盜鏈的幾種方法:
mod_rewrite
模塊啟用mod_rewrite
模塊(如果尚未啟用):
sudo a2enmod rewrite
sudo systemctl restart apache2
編輯.htaccess
文件:
在需要防盜鏈的目錄下創建或編輯.htaccess
文件,添加以下內容:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F,L]
解釋:
RewriteEngine On
:啟用重寫引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:檢查請求的Referer是否不是你的域名(不區分大小寫)。RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F,L]
:如果條件匹配,則返回403 Forbidden狀態碼,并停止進一步處理。mod_headers
模塊啟用mod_headers
模塊(如果尚未啟用):
sudo a2enmod headers
sudo systemctl restart apache2
編輯.htaccess
文件:
在需要防盜鏈的目錄下創建或編輯.htaccess
文件,添加以下內容:
<IfModule mod_headers.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F,L]
</IfModule>
mod_authz_core
模塊啟用mod_authz_core
模塊(如果尚未啟用):
sudo a2enmod authz_core
sudo systemctl restart apache2
編輯.htaccess
文件:
在需要防盜鏈的目錄下創建或編輯.htaccess
文件,添加以下內容:
<IfModule mod_authz_core.c>
AuthType None
AuthName "Restricted Content"
AuthUserFile /dev/null
Require valid-user
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F,L]
</IfModule>
.htaccess
文件進行重寫規則。yourdomain.com
為你自己的域名。通過以上方法,你可以有效地防止其他網站未經許可就使用你的資源。