百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 网站模板(百分百源码网)>电脑软件>服务器> IIS防盗链 ISAPI Rewrite图片防盗链法则写法
分享本文到:

IIS防盗链 ISAPI Rewrite图片防盗链法则写法

发布时间:05/16 来源:未知 浏览: 关键词:
通过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
第四行同上
这样注明应当不难了解吧,直接拿去用,按着原有格局改。
法则中涌现的正则表达式符号小解:
. 表示匹配除换行符之外的任意字符
+ 表示前面的字符可以涌现一到任意屡次
* 表示前面的字符可以涌现零到任意屡次
() 表示一个表达组,可以拿它和加减乘除法一起了解
?! 表示断言这个符号背面的字符要是涌现则不再进行接下去的匹配
\ 表示转义符号,比方网址中的.是法则内置的运算符号,要把它通过\转义成字符。
| 表示或者,用于连贯多种可能
通过以上这“乌七八糟”的符号,居然组成了如此强大的法则,叹息! 热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板
责任编辑:zO6GP
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助



订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板