基于ISAPI Rewrite軟件實現(xiàn)IIS圖片防盜鏈方法
更新時間:2010年07月14日 20:43:55 作者:
為了實現(xiàn)網(wǎng)站上面的圖片防盜鏈,根據(jù)網(wǎng)絡(luò)上搜集的資料加上自己的實踐,終于實現(xiàn)了iis下的圖片防盜鏈功能。
下面的操作,可能引起用戶的反感,如果訪客想從你這個頁面,保存?zhèn)€圖片都是不能的,用戶體驗何在啊。
實施步驟:
1.下載比較出名的www.helicontech.com提供的ISAPI Rewrite軟件的免費版本(免費版本雖然有一些功能上的限制,但是做防盜鏈足夠了):
http://www.isapirewrite.com/download/isapi_rwl_x86_0072.msi
2.設(shè)置軟件安裝目錄的IIS_WGP組的讀寫權(quán)限(重要,如果不設(shè)置安裝完后你的網(wǎng)站就會直接Service Unavailable,無法訪問)。
設(shè)置方法:
假如你的安裝目錄是D:Program FilesHeliconISAPI_Rewrite(默認安裝目錄是Program FilesHeliconISAPI_Rewrite,我們可以先建立),右擊ISAPI_Rewrite,選擇“屬性”->“安全”->“添加”->“高級”->“立即查找”,會找到一項IIS_WGP,雙擊添加,確定即可。然后選中這個組,點擊“完全控制”,使其擁有讀寫權(quán)限。
3.安裝軟件(安裝過程中軟件會重啟iis),安裝目錄選擇上一步設(shè)置好權(quán)限的目錄,安裝完畢后打開控制面板里的Internet 信息服務(wù),打開網(wǎng)站的屬性對話框里面有一項“isapi篩選器”,點擊“添加”,“篩選器名稱”自己隨便填寫一個好理解的名字就可以,“可執(zhí)行文件”項點擊“瀏覽”,選擇剛才安裝的ISAPI_Rewrite的安裝目錄中的ISAPI_Rewrite.dll,確定即可。重啟iis。
4.修改安裝目錄中的httpd.ini文件(如果這個文件為“只讀”屬性,則去掉“只讀”之后再修改)
添加:
RewriteCond Host: ^(.+)$
RewriteCond Referer: ^(?!http://\1.*).*$
RewriteCond Referer: ^(?!http://.*.baidu.com|.*.google.com|.*googlebot.com|.*.jb51.net).*).*$
RewriteRule ^(?!(/logo.gif|/2_files/logo_tg.gif)).*.(?:gif|jpg|jpeg|png)$ /block.gif [I,O,N]
解釋說明:
a.上面規(guī)則第三行中的m.fzitv.net為你網(wǎng)站的域名,請根據(jù)實際情況作出相應(yīng)的修改,里面的baidu.com 和google.com是為了不阻止搜索引擎蜘蛛抓取圖片。
b.第四行中的/logo.gif和2_fies/logo_tg.gif為你的logo圖片的地址,目的是允許別人友情鏈接使用你的logo,如果不需要可以去掉"(?!(/logo.gif|/2_files/logo_tg.gif))"。后面的gif jpg等等可以自己根據(jù)實際情況修改。
另修改規(guī)則無需重啟iis,只需要修改httpd.ini配置文件即可。
以下是其它網(wǎng)友的相關(guān)文章
利用isapi_rewrite可以實現(xiàn)類似于Apache的偽靜態(tài)路徑,利用其檢查refer的功能我們還可以實現(xiàn)防盜鏈。該軟件可以在 http://www.helicontech.com/download/下載,是一個共享軟件,但是有一個LITE版本是免費的,基本上可以實現(xiàn)我們需要的功能。安裝的步驟我就不詳細說了,具體說說httpd.ini的設(shè)置。
首先,必須要保證httpd.ini有可寫權(quán)限,設(shè)置isapi_rewrite安裝文件夾everyone具有可修改權(quán)限后,去除該文件的只讀屬性。
httpd.ini默認設(shè)置如下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\\1.*).*
我們在它后面加上一句
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
即可實現(xiàn)gif/jpg/png/exe/rar/zip文件的防盜鏈,盜鏈頁面顯示的是/block.gif。block.gif是一個體積較少的圖片文件,我們可以在上面打上自己網(wǎng)站的版權(quán)標志和防盜鏈聲明。
如果按照上面設(shè)置,則除本站以外的所有網(wǎng)站均不能使用這里的圖片,如果要允許一些例外的網(wǎng)站比如google,baidu以及其它一些非營利性網(wǎng)站引用該怎么辦呢?我們可以用如下正則表達式來實現(xiàn)
RewriteCond Referer: (?!http://(?:www\\.liehuo\\.net|www\\.google\\.com|www\\.baidu\\.com)).+
如果想允許所有g(shù)oogle子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設(shè)置:
RewriteCond Referer: (?!http://(?:*\\.liehuo\\.net|*\\.google\\.com|*\\.baidu\\.com)).+
至此,一個相當有效的防盜鏈系統(tǒng)已經(jīng)出來了,但如上設(shè)置有一個問題,如果瀏覽者瀏覽了盜鏈頁面后訪問本站頁面,則被盜鏈圖片的緩存會影響圖片的正常顯示。把
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改為
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
方可。參數(shù)N的意思是重新從站點請求文件而不是從本地緩存讀取。
實施步驟:
1.下載比較出名的www.helicontech.com提供的ISAPI Rewrite軟件的免費版本(免費版本雖然有一些功能上的限制,但是做防盜鏈足夠了):
http://www.isapirewrite.com/download/isapi_rwl_x86_0072.msi
2.設(shè)置軟件安裝目錄的IIS_WGP組的讀寫權(quán)限(重要,如果不設(shè)置安裝完后你的網(wǎng)站就會直接Service Unavailable,無法訪問)。
設(shè)置方法:
假如你的安裝目錄是D:Program FilesHeliconISAPI_Rewrite(默認安裝目錄是Program FilesHeliconISAPI_Rewrite,我們可以先建立),右擊ISAPI_Rewrite,選擇“屬性”->“安全”->“添加”->“高級”->“立即查找”,會找到一項IIS_WGP,雙擊添加,確定即可。然后選中這個組,點擊“完全控制”,使其擁有讀寫權(quán)限。
3.安裝軟件(安裝過程中軟件會重啟iis),安裝目錄選擇上一步設(shè)置好權(quán)限的目錄,安裝完畢后打開控制面板里的Internet 信息服務(wù),打開網(wǎng)站的屬性對話框里面有一項“isapi篩選器”,點擊“添加”,“篩選器名稱”自己隨便填寫一個好理解的名字就可以,“可執(zhí)行文件”項點擊“瀏覽”,選擇剛才安裝的ISAPI_Rewrite的安裝目錄中的ISAPI_Rewrite.dll,確定即可。重啟iis。
4.修改安裝目錄中的httpd.ini文件(如果這個文件為“只讀”屬性,則去掉“只讀”之后再修改)
添加:
復(fù)制代碼 代碼如下:
RewriteCond Host: ^(.+)$
RewriteCond Referer: ^(?!http://\1.*).*$
RewriteCond Referer: ^(?!http://.*.baidu.com|.*.google.com|.*googlebot.com|.*.jb51.net).*).*$
RewriteRule ^(?!(/logo.gif|/2_files/logo_tg.gif)).*.(?:gif|jpg|jpeg|png)$ /block.gif [I,O,N]
解釋說明:
a.上面規(guī)則第三行中的m.fzitv.net為你網(wǎng)站的域名,請根據(jù)實際情況作出相應(yīng)的修改,里面的baidu.com 和google.com是為了不阻止搜索引擎蜘蛛抓取圖片。
b.第四行中的/logo.gif和2_fies/logo_tg.gif為你的logo圖片的地址,目的是允許別人友情鏈接使用你的logo,如果不需要可以去掉"(?!(/logo.gif|/2_files/logo_tg.gif))"。后面的gif jpg等等可以自己根據(jù)實際情況修改。
另修改規(guī)則無需重啟iis,只需要修改httpd.ini配置文件即可。
以下是其它網(wǎng)友的相關(guān)文章
利用isapi_rewrite可以實現(xiàn)類似于Apache的偽靜態(tài)路徑,利用其檢查refer的功能我們還可以實現(xiàn)防盜鏈。該軟件可以在 http://www.helicontech.com/download/下載,是一個共享軟件,但是有一個LITE版本是免費的,基本上可以實現(xiàn)我們需要的功能。安裝的步驟我就不詳細說了,具體說說httpd.ini的設(shè)置。
首先,必須要保證httpd.ini有可寫權(quán)限,設(shè)置isapi_rewrite安裝文件夾everyone具有可修改權(quán)限后,去除該文件的只讀屬性。
httpd.ini默認設(shè)置如下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\\1.*).*
我們在它后面加上一句
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
即可實現(xiàn)gif/jpg/png/exe/rar/zip文件的防盜鏈,盜鏈頁面顯示的是/block.gif。block.gif是一個體積較少的圖片文件,我們可以在上面打上自己網(wǎng)站的版權(quán)標志和防盜鏈聲明。
如果按照上面設(shè)置,則除本站以外的所有網(wǎng)站均不能使用這里的圖片,如果要允許一些例外的網(wǎng)站比如google,baidu以及其它一些非營利性網(wǎng)站引用該怎么辦呢?我們可以用如下正則表達式來實現(xiàn)
RewriteCond Referer: (?!http://(?:www\\.liehuo\\.net|www\\.google\\.com|www\\.baidu\\.com)).+
如果想允許所有g(shù)oogle子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設(shè)置:
RewriteCond Referer: (?!http://(?:*\\.liehuo\\.net|*\\.google\\.com|*\\.baidu\\.com)).+
至此,一個相當有效的防盜鏈系統(tǒng)已經(jīng)出來了,但如上設(shè)置有一個問題,如果瀏覽者瀏覽了盜鏈頁面后訪問本站頁面,則被盜鏈圖片的緩存會影響圖片的正常顯示。把
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改為
RewriteRule .*\\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
方可。參數(shù)N的意思是重新從站點請求文件而不是從本地緩存讀取。
相關(guān)文章
win2003+IIS服務(wù)器下運行ASP+ACCESS非常慢的解決方法
win2003+IIS上運行ASP+ACCESS,非常緩慢,只要運行=now()都非常慢,同樣的問題,有很多朋友遇到,下面與大家分享下正確的解決方法2014-06-06
域內(nèi)禁止上某個網(wǎng)站的方法(wpkg.org)
這篇文章主要介紹了域內(nèi)禁止上某個網(wǎng)站的方法(wpkg.org),需要的朋友可以參考下2015-09-09
Windows Server 2012搭建文件服務(wù)器的詳細步驟
這篇文章主要介紹了Windows Server 2012搭建文件服務(wù)器的步驟,本文一步步通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
Windows Server 2012 IIS8 安裝配置方法
這篇文章主要介紹了Windows Server 2012 IIS8 安裝配置方法,需要的朋友可以參考下2017-08-08
一鍵關(guān)閉服務(wù)器危險端口BAT文件安防篇[端口介紹]
眾所周知,計算機之間通信是通過端口進行的,例如你訪問一個網(wǎng)站時,Windows就會在本機開一個端口(例如1025端口),然后去連接遠方網(wǎng)站服務(wù)器的一個端口,別人訪問你時也是如此2012-06-06
windows server 2019 安裝 CA-證書服務(wù)器的方法步驟
本文主要介紹了在Windows Server 2019上安裝和配置Active Directory證書服務(wù),包括安裝ADCS并創(chuàng)建頒發(fā)CA證書,具有一定的參考價值,感興趣的可以了解一下2024-12-12
Win2008 R2 64Bit下IIS環(huán)境安裝memcache和memcached服務(wù)端的方法
這篇文章主要介紹了Win2008 R2 64Bit下IIS環(huán)境安裝memcache和memcached服務(wù)端的方法,需要的朋友可以參考下2016-06-06

