程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 巧用ISAPI_Rewrite規則寫IIS防盜鏈

巧用ISAPI_Rewrite規則寫IIS防盜鏈

編輯:ASP技巧

因為網站的關系,不得不把服務器加上防盜鏈,以前在Apache上的時候很省力,apache的規則直接可以Referer就可以防盜鏈,現在當然我是在X86的IIS6.0上,上面那一套沒用了,早聽聞ISAPI_Rewrite的名氣,但無奈是收費的,這些額外開支能省就省吧~我可不是大戶囧,而我又是很懶的,不願意花太多時間改ASP的生成Html的模塊上,本來程序就已經被我這改改那改改的了。結合上面情況,最後還是選擇了偽htm,url重寫技術。下面是一些我自己服務器上寫的規則,應該能滿足常用的了。看了英文的ISAPI_Rewrite,覺得還是很有用的,中文的就算了。搜索ISAPI_Rewrite規則,第一頁所有的文章都一樣orz…

 
[ISAPI_Rewrite]
#偽Html部份
RewriteRule /article_([0-9,a-z]*).Html /article.ASP\?id=$1
RewriteRule /default([0-9,a-z]*).Html /default.ASP\?$1
RewriteRule /default_([0-9,a-z]*).Html /default.ASP\?cateID=$1
RewriteRule /default.Html /default.ASP

#防盜鏈部分
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteCond Referer: (?!http://(?:.*\.kenvi\.cn|kenvi\.cn|.*\.google\.com|google.com|.*\.baidu\.com|baidu\.com)).+
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip|torrent|bmp|pdf) /badlink.png [I,O,N]
#結束

只有兩個文件:
ISAPI_Rewrite.dll (加載於欲防站點,需重啟IIS)
http.ini (存放在ISAPI_Rewrite.dll的同級目錄,修改保存後實時生效。)

解釋
第一行:將article.ASP?id=1 轉為使用article_1.Html來訪問
第二行:這個就是典型的單參數例子,多參數例子就是第一行羅,如果title不是中文就把 .* 換成 \d+
第三行:這個就是典型的無參數例子
第四行:這個還是典型的無參數例子 ^_^
第五行:空白
第六行:注釋
如果需要防盜鏈,第七行第八行照抄
第九行:設置友情站點,這些站點可以訪問網站上的資源。“.*\.google\.com”.* 是代表任意前綴。
第十行:設置受限文件格式, [I,O,N] 後面的 N 用來防止防問了盜鏈者網站後將badlink.png 緩存下來(再訪問你的站點使用緩存的badlink.png 就不雅觀啦)

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved