巧用ISAPI_Rewrite规则写IIS防盗链
大家好,又见面了,我是你们的朋友全栈君。
巧用ISAPI_Rewrite规则写IIS防盗链
关键是httpd.ini的设置 首先,必须要保证httpd.ini有可写权限,设置isapi_rewrite安装文件夹IIS_来宾,IIS_进程读写权限。 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://(?:www/.uurenti/.com|www/.google/.com|www/.baidu/.com)).+
如果想允许所有google子站和baidu子站形如images.baidu.com,images.google.com等站则做如下设置:
RewriteCond Referer: (?!http://(?:*/.uurenti/.com|uurenti/.com|*/.google/.com|google/.com|*/.baidu/.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的意思是重新从站点请求文件而不是从本地缓存读取。
最后,你如果想那个站点放盗链,那只需要到IIS下该站点属性—ISAPI筛选器—添加……REWRITE.DLL(在你的安装目录下)
然后重新启动IIS!
转自:http://2seu.com/yeguizu/Article/xingwei/200810/150.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163491.html原文链接:https://javaforall.cn
相关文章
- 原码反码补码运算规则_正数的原码反码补码相同吗
- 在线分享 Hosts 规则工具:Remote Hosts Server
- 单层感知器的学习规则
- 从野蛮到文明,数字世界应当如何重构现代化安全规则?| Q推荐
- 【Web】Nginx配置规则详解程序员
- MySQL数据库命名规则:简明指南(mysql数据库命名规则)
- 法国反疫苗抗议者将疫苗规则比作“纳粹罪行”
- Oracle 规则:建立正确的数据结构(oracle规则)
- 深入探索IIS服务和Linux的强大组合(iis服务linux)
- IIS搭建MySQL服务器:从入门到精通(iis搭建mysql)
- 规则Linux变量命名:探索有效规则的奥秘.(linux变量命名)
- IIS搭配MySQL实现快速访问体验(iis访问mysql)
- IIS无法连接MySQL数据库:解决方法(iis不支持mysql)
- IIS无法连接Oracle数据库的解决方案(iis未连接oracle)
- 规则Oracle主键自定义规则让你拥有更多控制权(oracle主键自定义)
- Redis键值覆盖有何规则(redis键值会覆盖吗)
- CSS规则层叠的应用css必须要注意的几点
- JavaScript字符编码规则
- 真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链规则写法
- 解析htaccess伪静态的规则
- Python中的作用域规则详解