IIS下图片防盗连设置详解
小站只有100个IIS,盗链后经常是连主页都打不开,就想着弄个图片防盗链,在网上找了一下资料,正则表达式的写法啊,ISAPI_REWRITE基本配置啊等等,找来啃了一天终于发现有三个方法实现.
第一、号称最简单的方法,在CSS中加入以下代码 img {filter:expression(this.不能去掉 ? "" (!this.complete) ? "" :
this.runtimeStyle.filter
= ("progidXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src +
"')") + String(this.不能去掉 = true).substr(0, 0) +(this.src =
"http://www.5x5y.cn/blog/logo.gif").substr(0, 0) )
);}很遗憾,虽然看不懂但我试了不成功。查了一下苏沈小雨的CSS行为手册,说只有IE才支持CSS的expression行为,我用的不是,失败。
第
二、使用apache文件FileMatch限制,首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文
件, 如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改 找到:#LoadModule rewrite_module
modules/mod_rewrite.so
把前面的 # 给去丢 找到等一个 AllowOverride None 改为 AllowOverride All 重启Apache2服务器
接下就是在 新建一介.htaccess 文件加入以下内容:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.g-feel.cn/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.g-feel.cn$ [NC]
RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ [R,NC]
或者RewriteRule \.(gif|jpg|png)$ 你的图片地址 [R=301,L]
其中有色的地方都是要改为你的:
红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。如果你有多个域名或允许链接的网站就像第二行和第二行那样加上就行了
蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。
绿色:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。
然后把.htaccess放到附件文件夹attachments里
第二种方法测试可用
第三种方法就是我现在用的方法,因为我的服务器环境是IIS6.0的,没法用第二种方法,那个在自己电脑上测试可用。
如果你的服务支持ISAPI_Rewrite,那么你就可以用这个方法了
isapi_rewrite利用正则表达式进行替换规则的表示。
进行正则表达式的编写的时候,做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。 在httpd.ini里加入
RewriteCond Referer: (?!http://www.pf55.com.*).*
RewriteCond Referer: (?!http://www.myjxtx.com.*).*
RewriteRule .*/upload_files/.*.(?:gif|jpg|jpeg|png|bmp) /err.gif [I,O]
把网址修改为你的网址。upload_files为你要防止盗连的图片目录,点前面加"",err.gif是你想在盗链的时候替换的图片,放在网站根目录下
修改时建议用Editplus,我一开始用记事本来改的,结果iis rewriter静态优化都失败了
这样图片防盗链就做好了
转自:http://www.phpwind.net/read/622475
IIS下图片防盗连设置详解的更多相关文章
- 完美的nginx图片防盗链设置详解
一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!依然可以下载?这样就不是彻底的防盗链了! [r ...
- lnmp/nginx系统真正有效的图片防盗链完整设置详解
http://www.it300.com/article-15345.html 关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链! ...
- windows下的定时任务设置详解
windows下的定时任务设置详解 一.总结 一句话总结: 1.php.exe是什么? 就是php中自带的一个exe,不是我们写的,这个exe是可以执行其他的PHP的 二.windows下的定时任务设 ...
- Android图片缓存之Bitmap详解
前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. 图片缓存相关博客地址: Android图片缓 ...
- IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)
IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解
MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Mycat介绍 1>.什么是Mycat Mycat背后是 ...
- loadrunner 运行脚本-Run-time Settings-Browser Enmulation设置详解
运行脚本-Run-time Settings-Browser Enmulation设置详解 by:授客 QQ:1033553122 浏览器模拟 所有Internet Vuser Header包含一个标 ...
随机推荐
- 【HDOJ】4982 Goffi and Squary Partition
题意就是整数划分,选出和为n的K个整数,其中K-1个数的和为完全平方数S.选择整数时需要从1,2,3..连续选择,当选择整数与n-S相等时,需要跳过n-S,即选择n-S+1.如此选择K-2个数,从而可 ...
- 【HDOJ】1063 Exponentiation
这道题目莫名其妙的wa,又莫名其妙的过了. import java.util.Scanner; import java.math.BigDecimal; public class Main { pub ...
- Java---多线程之死锁
★ 死锁的两种情况: 简单的说下单块cpu运行多线程的情况: 大家可能平时玩电脑,可以同时挂QQ啊,玩游戏啊,打开文本啊,等等.这里,我们假设是单块cpu.也就是俗称的单核cpu. 大家可能会觉得这些 ...
- Linux下的getline函数
最近在做国嵌的mp3项目,在mp3主控程序中用到了这个函数,挺好使的,在这里记录一下.注意是linux下的,不是C++中的. 函数原型 ssize_t getline(char **lineptr, ...
- 怎么都没人提 google 加密搜索呢? google如何稳定打开
1. 使用smarthosts提供的hosts文件 https://smarthosts.googlecode.com/svn/trunk/hosts2. 修改浏览器默认搜索引擎为 https://e ...
- oracle连接进程数设置
SQL> select count(*) from v$session #连接数SQL> Select count(*) from v$session where status='ACTI ...
- Java-装饰模式(转)
装饰模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关 ...
- Java容器详解
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.在Java中,容器的类型主要有:List.Set ...
- centos系统安装中文字体几种方法
我们知道centos是基于linux内核的这款系统默认是不带中文字体了,如果我们要使用中文字体就需要自行安装了,下面一起来看看吧. 前天有用户反应,生成的报到单中他的名字少了一个字.仔细检查了一下 ...
- freemarker的使用心得
freemarker眼下尽管使用的公司不多,可是在某些时候就必须使用,当须要遍历json数据的时候,眼下市面上的好多显示组件都达不到要求唯一能用的也就仅仅有freemarker了.在java里使用的模 ...