网站运营
位置:首页>> 网站运营>> 盗链解决:服务器ISAPI Rewrite设置

盗链解决:服务器ISAPI Rewrite设置

  发布时间:2011-08-14 06:34:29 

标签:盗链,服务器,ISAPI-REWRITE

近来小站遇到了盗链问题,至使网站的流量枉费流失,于是被迫准备为服务器安装防盗链机制以挽救本就不宽裕的带宽。通过G.CN和B.CN搜索后得出了几种不同的方案,例如网站程序的URL伪装法、服务器端的收费插件法和ISAPI-REWRITE的规则过滤法等,考虑自身网站结构和钱包的困难问题,最终选择了后者,即现在流行用来做伪静态的ISAPI Rewrite书写规则来实现我的防盗链“梦想”。


为什么说是梦想呢?首先表示惋惜,懒人我搜来了一大票经过无数次转载而来的文章,把现呈的代码应用后发现要么根本不起作用,要么就是效果达不到我想要的,几经周折后终于把这原本认为可以轻易借鉴照搬的防盗链给完成了,恨那些只会转载和伪原创的站长们,自己也不试试就拿来填充,害了多少人浪费了大把的时间。


经过恶补正则表达式相关教程并对前辈们留下的规则进行修改后,以下ISAPI Rewrite已经在我的服务器上正常运作。


经测试四种情况正常,即站内链接正常,白名单里的链接正常,盗链者链接屏蔽,搜索引擎链接正常。


详细如下;


一、完全屏蔽所有盗链来源的写法(如已有其它规则,则置于已有规则的上面)


RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif jpg jpeg png bmp) /block.gif [I,O,N]

老板,来个小解:


第一行通过RewriteCond的HOST定义其下的规则所适用的请求主机范围。


第二行通过RewriteCond的Referer定义规则适用的请求来源地址,我们都知道任何通过互联网方式访问网站都会留下Referer的痕迹,就好像我们在IIS日志里看到的一样。这里的(?!http://\1.*).*意思就是判断所有通过http协义发来的请求,都要应用规则。


第三行通过RewriteRule定义防盗链文件的后缀,这里仅是图片后缀,需要的可以添加mp3,rar等其它所有后缀。后面的/block.gif表示如果遇上这些后缀的文件被盗链后的转向,这里转向/根目录的block.gif,可以是HTML等任何文件。如果只想某个文件夹下面的文件不被盗链,只需要加上路径就可以。例如不想images和pic目录下的文件被盗,但其它可以。就要改写成:


RewriteRule (/images/ /pic/).*\.(?:gif jpg jpeg png bmp) /block.gif [I,O,N]


这种情况主要是有些站长在别人友情链接里的图片地址是在自己这的。


最后面的[I,O,N],I表示不区分大小写,O表示对URL进行标准化,可能是用来处理Unicode编码的地址(例如包含中文的URL)以及QueryString的内容,N表示重新从站点请求文件而不是从本地缓存读取文件,目的是防止当用户访问了盗你链的网站后,再回到你的网站也出现盗链提示。


提示,由于此规则是通过Referer来获取带有http://字样的地址进行过滤,因此它无法防范其它协议的盗链,比如迅雷下载。但通过任何浏览器直接访问,只要是HTTP协义的,通杀。


以上关于RewriteCond和RewriteRule的作用仅是本人的土法理解,欢迎在这方面有专业研究的朋友在评论中指正,以免误导,另外如果遇到isapi-rewrite版本问题,只要保证后面的正则式写法正确就行。


二、排除性防盗链写法


RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteCond Referer: (?!http://(.*)(\.baidu\.com \.google\.com \.google\.cn \.g\.cn \.gougou\.com \.soso\.com \.sogou\.com \.youdao\.com \.bing\.com \.yahoo\.com \.yahoo\.cn \.eojoo\.com)).*
RewriteRule .*\.(?:gif jpg jpeg png bmp) /block.gif [I,O,N]

老板,来个小解:


第一行同上


第二行同上


第三行通过正则表达式对第二行中的请求协义地址进行过滤,这里按上面的写法,过滤了所有流行的搜索引擎,当然也包括你自己的站,或是你同台服务器其它的站。每个不同的域名写法是\.baidu\.com,多个有 号相隔。如果是IP则这样写100\.100\.100\.100


第四行同上


这样说明应该不难理解吧,直接拿去用,按着原有格式改。


规则中出现的正则表达式符号小解:


. 表示匹配除换行符以外的任意字符


+ 表示前面的字符可以出现一到任意多次


* 表示前面的字符可以出现零到任意多次


() 表示一个表达组,可以拿它和加减乘除法一起理解


?! 表示断言这个符号后面的字符如果出现则不再进行接下去的匹配


\ 表示转义符号,比如网址中的.是规则内置的运算符号,要把它通过\转义成字符。


  表示或者,用于连接多种可能


通过以上这“乱七八糟”的符号,竟然组成了如此强大的规则,感叹!

0
投稿

猜你喜欢

  • 百度,中国搜索引擎的老大,用户最多的搜索引擎,现在排名算法即将发生改变,我们应该怎么面对了?在不知道新的算法前,我们现在可以做下面的东西为新
  • 巨人《绿色征途》玩家爆满10月24日消息,据巨人网络《绿色征途》团队透露,该游戏于昨日下午开启封测后倍受玩家追捧,两个新区服务器人满为患,该
  • 产品页面搜索引擎优化的好处往往会被人们所忽视,仅仅提供一些基本的产品信息、图片和简要的描述。那么,怎么从搜索营销的角度去充分利用它呢?以下是
  • 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当
  • 中国游戏行业是一个悲情的行业,虽然他有着远超体育圈的关注和参与人群,但是在社会上它始终被定位在“小众”。其最大的一个表现就是,它应该是全中国
  • 一、网站的三大要素,文字,图片,链接目前为止互联网上新的网络应用层出不穷。从过去的论坛到博客,再到现在的社会性网络服务。各类网站基本还都没有
  • 虽然说亡羊补牢可以将木马后门造成的损失降至最低,但最好的方法显然是防患于未然。1、后门防范基本功首先要关闭本机不用的端口或只允许指定的端口访
  • 在即将开始测试UCenter Home 2.0中,针对1.5版本新增了六大互动新特性,使得新版本拥有更强的互动性。在此特别提前为大家做一下道
  • 在川外成都学院就读的肖曦怎么也没想到,帮朋友在淘宝上买游戏充值卡的他竟然遭遇“钓鱼”网站,瞬间被骗走
  • 内容摘要:IIS服务器出错的原因是复杂的。象服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS
  • 有时在博客评论和论坛里看到有朋友说我们写的SEO技巧不够具体,感觉无从下手,这样的问题经常让分享技巧的人也有点无奈,不知道该具体到什么程度。
  • 探讨观点:不要把网络营销当成公司唯一的销售渠道,请更加注重线上线下的“品牌建设及口碑营销”。首先,在这里我想强调一点:经营网站不要想着投机取
  • 越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都
  • 为什么baidu只收录首或不收录?下面来看看各位站长的经历吧收录问题很多,,要是新站可能等等就收录了若是一值没收录,就可能是网站的问题的,更
  • 将证书导入网站目录为了让目标网站所对应的目录文件信息全部使用SSL加密传输功能,我们需要将前面申请好的网站证书导入到目标网站所对应的目录中;
  •  现在国内提供支持ASP的免费空间越来越多了,对于ASP爱好者来说无疑是个好的势头,但是很多提供免费ASP空间的站点都没有对Fil
  • 随着Internet的发展,很多机构都将自己内部的网络连接到Internet上,因而网络安全问题越来越重要。一、现有防火墙技术及其局限性为了
  • 导读:设置“牛卡计划”,被认为是Facebook在为上市进行准备工作。不过Facebook在周二的声明中表示,该公司推出“牛卡计划”,是因为
  • 成功的网站意味着您的企业能够从互联网上获得更多客户,迅速扩大企业知名度,创造更多生意机会。如果您依旧认为网站就是放在互联网上的产品手册,那它
  • 一.摘要所有Web程序都会使用Session保存数据. 使用独立的Session服务器可以解决负载均衡场景中的Session共享问题.本文介
手机版 网站运营 asp之家 www.aspxhome.com