2007年12月2日 星期日

Apache實現禁止圖片盜鏈

【摘要】使用以上的方法當從非指定的主機連結圖片時,圖片將無法顯示,如果希望顯示一張「禁止盜鏈」的圖片,我們可以用mod_rewrite來實現。
Apache實現禁止圖片盜鏈Apache實現禁止圖片盜鏈

1、假設充許連結圖片的主機域名為:www.gongyelu.cn1、假設充許連結圖片的主機域名為:www.gongyelu.cn

2、修改httpd.conf2、修改httpd.conf

Code:Code:
SetEnvIfNoCase Referer "^http://www.gongyelu.cn/" local_ref=1SetEnvIfNoCaseReferer"^http://www.gongyelu.cn/"local_ref=1

Order Allow,DenyOrderAllow,Deny
Allow from env=local_refAllowfromenv=local_ref



這個簡單的應用不光可以解決圖片盜鏈的問題,稍加修改還可以防止任意文件盜鏈下載的問題。這個簡單的應用不光可以解決圖片盜鏈的問題,稍加修改還可以防止任意文件盜鏈下載的問題。

使用以上的方法當從非指定的主機連結圖片時,圖片將無法顯示,如果希望顯示一張「禁止盜鏈」的圖片,我們可以用mod_rewrite 來實現。使用以上的方法當從非指定的主機連結圖片時,圖片將無法顯示,如果希望顯示一張「禁止盜鏈」的圖片,我們可以用mod_rewrite來實現。

首先在安裝 apache 時要加上 --enable-rewrite 參數加載 mod_rewrite 模組。首先在安裝apache時要加上--enable-rewrite參數加載mod_rewrite模組。

假設「禁止盜鏈」的圖片為abc.gif,我們在 httpd.conf 中可以這樣配置:假設「禁止盜鏈」的圖片為abc.gif,我們在httpd.conf中可以這樣配置:


Code:
RewriteEngine onRewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?demo.com.cn /.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.demo.com.cn/abc.gif [R,L]

++++++++++++++++++++++++++++++++++++++++++++++++++++++

DocumentRoot "/usr/local/apache/htdocs"DocumentRoot"/usr/local/apache/htdocs"
#設置存放站點html文件的目錄。#設置存放站點html文件的目錄。


Options FollowSymLinksOptionsFollowSymLinks
AllowOverride NoneAllowOverrideNone

#設置/目錄的指令。#設置/目錄的指令。 具體地說明:具體地說明:
Option:定義在目錄內所能執行的操作。Option:定義在目錄內所能執行的操作。
None:表示只能瀏覽,None:表示只能瀏覽,
FollowSymLinks:允許頁面連接到別處,FollowSymLinks:允許頁面連接到別處,
ExecCGI:允許執行CGI,ExecCGI:允許執行CGI,
MultiViews:允許看動畫或是聽音樂之類的操作,MultiViews:允許看動畫或是聽音樂之類的操作,
Indexes:允許服務器返回目錄的格式化列表,Indexes:允許服務器返回目錄的格式化列表,
Includes:允許使用SSI。Includes:允許使用SSI。 這些設置可以複選。這些設置可以複選。
All:則可以做任何事,但不包括MultiViews。All:則可以做任何事,但不包括MultiViews。
AllowOverride:加None參數表示任何人都可以瀏覽該目錄下的文件。AllowOverride:加None參數表示任何人都可以瀏覽該目錄下的文件。
另外的參數有:FileInfo、AuthConfig、Limit。另外的參數有:FileInfo、AuthConfig、Limit。

【下列文章您可能也有興趣】

沒有留言: