為了實現網站上面的圖片防盜鏈,根據網絡上搜集的資料加上自己的實踐,終於實現了IIS下的圖片防盜鏈功能。
實施步驟:
1.下載比較出名的www.helicontech.com提供的ISAPI Rewrite軟件的免費版本(免費版本雖然有一些功能上的限制,但是做防盜鏈足夠了):
http://www.isapirewrite.com/download/isapi_rwl_x86_0072.msi
2.設置軟件安裝目錄的IIS_WGP組的讀寫權限(重要,如果不設置安裝完後你的網站就會直接Service Unavailable,無法訪問)。
設置方法:
假如你的安裝目錄是D:\PRogram Files\Helicon\ISAPI_Rewrite(默認安裝目錄是\Program Files\Helicon\ISAPI_Rewrite,我們可以先建立),右擊ISAPI_Rewrite,選擇“屬性”->“安全”->“添加”->“高級”->“立即查找”,會找到一項IIS_WGP,雙擊添加,確定即可。然後選中這個組,點擊“完全控制”,使其擁有讀寫權限。
3.安裝軟件(安裝過程中軟件會重啟iis),安裝目錄選擇上一步設置好權限的目錄,安裝完畢後打開控制面板裡的Internet 信息服務,打開網站的屬性對話框裡面有一項“isapi篩選器”,點擊“添加”,“篩選器名稱”自己隨便填寫一個好理解的名字就可以,“可執行文件”項點擊“浏覽”,選擇剛才安裝的ISAPI_Rewrite的安裝目錄中的ISAPI_Rewrite.dll,確定即可。重啟IIS。
4.修改安裝目錄中的httpd.ini文件(如果這個文件為“只讀”屬性,則去掉“只讀”之後再修改)
添加:
RewriteCond Host: ^(.+)$
RewriteCond Referer: ^(?!http://\\1.*).*$
RewriteCond Referer: ^(?!http://.*\.baidu\.com|.*\.google\.com|.*googlebot\.com|.*\.abc\.Net).*).*$
RewriteRule ^(?!(/logo\.gif|/2_files/logo_tg\.gif)).*\.(?:gif|jpg|jpeg|png)$ /block.gif [I,O,N]
解釋說明:
a.上面規則第三行中的www.abc.net為你網站的域名,請根據實際情況作出相應的修改,裡面的baidu.com 和google.com是為了不阻止搜索引擎蜘蛛抓取圖片。
b.第四行中的/logo.gif和2_fIEs/logo_tg.gif為你的logo圖片的地址,目的是允許別人友情鏈接使用你的logo,如果不需要可以去掉"(?!(/logo\.gif|/2_files/logo_tg\.gif))"。後面的gif jpg等等可以自己根據實際情況修改。
另修改規則無需重啟IIS,只需要修改httpd.ini配置文件即可。