isapi_rewrite的防盗链使用方法与规则代码
httpd.ini设置如下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /Block.gif [I,O]
即可实现gif/jpg/png/exe/rar/zip文件的防盗链,盗链页面显示的是/Block.gif。Block.gif是一个体积较少的图片文件,我们可以在上面打上自己网站的版权标志和防盗链声明。
如果按照上面设置,则除本站以外的所有网站均不能使用这里的图片,如果要允许一些例外的网站比如google,baidu以及其它一些非营利性网站引用该怎么办呢?我们可以用如下正则表达式来实现
RewriteCond Referer: (?!http://(?:.*\.google\.com|www\.baidu\.com)).+
如果想需要给友情站使用,则可以如下设置:
RewriteCond Referer: (?!http://(?:*\.pspper\.net|*\.google\.com|*\.baidu\.com)).+
至此,一个相当有效的防盗链系统已经出来了,但如上设置有一个问题,如果浏览者浏览了盗链页面后访问本站页面,则被盗链图片的缓存会影响图片的正常显示。把
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改为
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
方可。参数N的意思是重新从站点请求文件而不是从本地缓存读取。
注意,由于流媒体不使用Referer,所以无法用此方法。
相关推荐
-
isapi_rewrite的防盗链使用方法与规则代码
httpd.ini设置如下: RewriteCond Host: (.+) RewriteCond Referer: (?!http://\1.*).* RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /Block.gif [I,O] 即可实现gif/jpg/png/exe/rar/zip文件的防盗链,盗链页面显示的是/Block.gif.Block.gif是一个体积较少的图片文件,我们可以在上面打上自己网站的版权标志和防盗链声明. 如果按照上面设置,则
-
Nginx和Apache几种防盗链配置方法实例
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫 referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源 文件,则可以跟踪到显示它的网页地址.有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返 回指定的页面. Nginx防盗链的配置 1.nginx针对文件类型的防盗链配置
-
php实现图片文件与下载文件防盗链的方法
本文实例讲述了php实现图片文件与下载文件防盗链的方法.分享给大家供大家参考.具体分析如下: 在php中最简单的防盗链办法就是利用php的$_SERVER['HTTP_REFERER']函数来操作了,但是此方法不可靠,我们最终还是需要使用apache,iis来进行操作的,具体的操作方法如下: php防盗链: 复制代码 代码如下: <?php session_start(); session_register('check'); $_SESSION['check']=true; ?> 检查ses
-
nginx rewrite重写规则与防盗链配置方法教程详解
导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面. nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule nginx rewrite规则格式:rewrite regex replacement flag flag标记有四种格式: last – 相
-
Referer原理与图片防盗链实现方法详解
本文实例讲述了Referer原理与图片防盗链实现方法.分享给大家供大家参考,具体如下: 1.图片防盗链 在一些大型网站中,比如百度贴吧,该站点的图片采用了防盗链的规则,以至于使用下面代码会发生错误. 简单代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="
-
php实现博客,论坛图片防盗链的方法
本文实例讲述了php实现博客,论坛图片防盗链的方法.分享给大家供大家参考,具体如下: 防盗链的方式很多,我这里就说说我对放盗链的理解,这个跟防止远程提交是一个原理. 先介绍一个函数 uniqid(string); //这个函数的作用,是在你添加的字符串后面随即添加一个独一无二ID字符串. 如果你还不放心,你可以给这个函输出的字符串再用SHA1()函数进行加密. 这样我们得到了一个独一无二,且只有你自己知道的字符串,用来做数字签证.接下来是如何检测这个数字签证. function has($str
-
php简单防盗链实现方法
本文实例讲述了php简单防盗链实现方法.分享给大家供大家参考.具体如下: <?php $ADMIN = array( 'defaulturl'=> 'http://blog.qita.in/images/banner-header.gif', //盗链返回的地址 'url_1' => 'http://blog.qita.in/file', 'url_2' => 'http://blog.qita.in/file1', ); $okaysites = array( 'http://q
-
jsp实现防盗链的方法
本文实例讲述了jsp实现防盗链的方法.分享给大家供大家参考,具体如下: 最近碰到盗链的问题,即复制一个url地址,在另一个地方也能访问. index.jsp页面 <html> <head><title>Simple jsp page</title></head> <body>Place your content here here is index jsp get header info <a href="a.jsp&
-
PHP实现防盗链的方法分析
本文实例讲述了PHP实现防盗链的方法.分享给大家供大家参考,具体如下: $_SERVER['HTTP_REFERER']的获取情况 注意 $_SERVER['HTTP_REFERER'] 并不一定总能获取到,只有在以下情况下才能获取到: 一.能够取到HTTP_REFERER的情况为以下几种: 1.直接用<a href> 2.用Submit或<input type=image>提交的表单(POST or GET) 3.使用Jscript提交的表单(POST or GET) 二.不能取
-
详解iis httpd.ini中IIS图片防盗链的方法
一.创建目录 e:Rewrite 把 Rewrite 下的四个文件(httpd.ini .httpd.parse.errors.mtbnotif.dll.Rewrite.dll)上传到这里. 二.设置IIS属性,选择网站属性,到ISAPI筛选器, 关闭属性对话框. 再次查看网站属性,到ISAPI筛选器 如果看到状态为向上的绿色箭头,就说明Rewrite模块安装成功了. 点添加,在名称中输入rewrite,可执行文件选择刚才解压后的文件Rewrite.dll,点确定:再点确定, 三.修改 e:Re
随机推荐
- JavaScript实现文字与图片拖拽效果的方法
- 服务器XMLHTTP(Server XMLHTTP in ASP)基础知识
- sqlserver2005自动创建数据表和自动添加某个字段索引
- 浅谈Koa服务限流方法实践
- PHP中的递归正则表达式用法分享
- Java 什么是注解及注解原理详细介绍
- python 自动化将markdown文件转成html文件的方法
- php 分页原理详解
- php里array_work用法实例分析
- PHP获取文件扩展名的方法实例总结
- C#泛型相关讲解
- 使用设计模式中的单例模式来实现C++的boost库
- 批处理发送文件夹的快捷方式到桌面的代码
- Java枚举_动力节点Java学院整理
- Java concurrency之集合_动力节点Java学院整理
- 另类网页中添加运行效果
- 路由器技术的变革
- Linux内核参数调整方法
- jQuery实现动态控制页面元素的方法分析
- JS常用的几种数组遍历方式以及性能分析对比实例详解