巧用ISAPI_Rewrite规则写IIS防盗链
2008-04-08 15:37
316 查看
因为网站的关系,不得不把服务器加上防盗链,以前在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 就不雅观啦)
RewriteRule /cxnews_([0-9,a-z]*)_([0-9,a-z]*).html /new_Last.asp/?id=$1&Page=$2
cxnews_9527_2.html =====> new_Last.asp?id=9527&page=2
Rewrite.zip
Rewrite
<script type="text/javascript"><!--
google_ad_client = "pub-4496542356316112";
/* 468x60,创建于 08-2-6 */
google_ad_slot = "1024194011";
google_ad_width = 468;
google_ad_height = 60;
google_cpa_choice = ""; // on file
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
[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 就不雅观啦)
RewriteRule /cxnews_([0-9,a-z]*)_([0-9,a-z]*).html /new_Last.asp/?id=$1&Page=$2
cxnews_9527_2.html =====> new_Last.asp?id=9527&page=2
Rewrite.zip
Rewrite
<script type="text/javascript"><!--
google_ad_client = "pub-4496542356316112";
/* 468x60,创建于 08-2-6 */
google_ad_slot = "1024194011";
google_ad_width = 468;
google_ad_height = 60;
google_cpa_choice = ""; // on file
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
相关文章推荐
- 巧用ISAPI_Rewrite规则写IIS防盗链(转)
- 巧用ISAPI_Rewrite规则写IIS防盗链
- IIS防盗链 ISAPI Rewrite图片防盗链规则写法
- ASP使用isapi_rewrite 3.0规则
- ISAPI Rewrite 3 下载及常用 301 规则
- WordPress在window2003 IIS ISAPI ReWrite下的URL规则
- Mic's blog iis下ISAPI_Rewrite配置及 iis rewrite 规则书写
- isapi_rewrite的防盗链使用方法与规则代码
- IIS真正能用的ISAPI-Rewrite图片防盗链规则写法
- ISAPI_Rewrite 规则说明
- ISAPI_Rewrite 2.9与3.0 对网站目录进行301重定向的正则表达式规则
- iis下ISAPI_Rewrite配置及 iis rewrite 规则书写
- ISAPI_Rewrite 规则说明
- 安装ISAPI_Rewrite规则写法和配置
- ISAPI_Rewrite规则
- ISAPI_REWRITE 规则1
- ISAPI_Rewrite规则写法
- ISAPI_Rewrite规则实践(转)
- ISAPI-REWRITE伪静态规则写法以及说明
- 常见ISAPI_Rewrite规则写法