规则IIS真正能用的ISAPI-Rewrite防盗链规则写法

rewrite规则  时间:2021-01-09  阅读:()

本规则支持白名单排除式防盗链搜索引擎友好不屏蔽被盗链后的错误提示转向支持各种文件类型经作者亲验真的能用第一时间在chinaz.com原创发表请继续往下阅读。

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

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

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

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

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

RewriteCond Host: (.+)

Re w rite Co nd Refe re r: (?!http://\1.*).*

Re w rite Ru le .*\.(?:g if|j pg|j pe g|p n g|b mp)/b lo c k.g if [I,O,N]

老板来个小解

第一行通过Re w rite Co nd的H OST定义其下的规则所适用的请求主机范围。

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

第三行通过Re w rite Ru le定义防盗链文件的后缀这里仅是图片后缀需要的可以添加m p 3,ra r等其它所有后缀。后面的/b lo c k.g if表示如果遇上这些后缀的文件被盗链后的转向这里转向/根目录的b lo c k.g if可以是HTML等任何文件。如果只想某个文件夹下面的文件不被盗链只需要加上路径就可以。例如不想images和pic目录下的文件被盗但其它可以。就要改写成

Rew rite Ru le(/imag e s/|/p ic/).*\.(?:g if|jpg|jpe g|pn g|b m p)/b loc k.g if [I,O,N]

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

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

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

以上关于Re w rite Co nd和Rew rite Ru le的作用仅是本人的土法理解欢迎在这方面有专业研究的朋友在评论中指正 以免误导另外如果遇到isa p i-re w rite版本问题只要保证后面的正则式写法正确就行。

二、排除性防盗链写法

RewriteCond Host: (.+)

Re w rite Co nd Refe re r: (?!http://\1.*).*

Rew riteCo nd Refe re r:

(?!htt p://(.*)(\.baid u\.co m|\.g oog le\.co m|\.goog le\.cn|\.g\.cn|\.g oug ou\.co m|\.soso\.co m|\.sogo u\.co m |\.youdao\.com|\.bing\.com|\.yahoo\.com|\.yahoo\.cn|\.eojoo\.com)).*

Re w rite Ru le .*\.(?:g if|j pg|j pe g|p n g|b mp)/b lo c k.g if [I,O,N]

老板来个小解

第一行同上

第二行同上

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

第四行同上

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

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

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

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

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

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

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

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

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

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

Hostiger 16G大内存特价VPS:伊斯坦布尔机房,1核50G SSD硬盘200Mbps带宽不限流量$59/年

国外主机测评昨天接到Hostigger(现Hostiger)商家邮件推送,称其又推出了一款特价大内存VPS,机房位于土耳其的亚欧交界城市伊斯坦布尔,核50G SSD硬盘200Mbps带宽不限月流量只要$59/年。 最近一次分享的促销信息还是5月底,当时商家推出的是同机房同配置的大内存VPS,价格是$59.99/年,不过内存只有10G,虽然同样是大内存,但想必这次商家给出16G,价格却是$59/年,...

RackNerd($199/月),5IP,1x256G SSD+2x3THDD

我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...

妮妮云(43元/月 ) 香港 8核8G 43元/月 美国 8核8G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

rewrite规则为你推荐
yuming域名whois是什么意思.net虚拟主机想买个同时支持php和.net的虚拟主机,哪里可以买到这样的空间?是同时支持的那种。广东虚拟主机西部数码和中国万网,哪家的虚拟主机哪个好,用过的说说?vpsvps是什么?域名服务商买域名,一定要选择好的服务商com域名注册.com的域名注册需要什么证件和资料吗?虚拟主机申请现在做网站申请虚拟主机选择哪种合适?台湾主机台湾的第一台电脑asp虚拟空间ASP空间是什么意思?网站空间价格我想自己弄个小网站,但我不会懂域名和买空间价格,便宜一点的一共要多少钱?
美国服务器租用 南昌服务器托管 ftp教程 亚马逊香港官网 流媒体加速 shopex主机 联通网站 免费的域名 百度云空间 中国联通宽带测速 restart 美国服务器 免费网络电视软件 长沙服务器托管 免费邮件服务器软件 万网空间价格 深圳安居房申请网站 789加速器 安卓免费网络电话 怨屋本铺reboot 更多