博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置防盗链
阅读量:6306 次
发布时间:2019-06-22

本文共 1696 字,大约阅读时间需要 5 分钟。

配置防盗链

要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。

(1)配置防盗链

[root@chy ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf (增加如下配置) 
SetEnvIfNoCase Referer "http://www.111.com" local_ref SetEnvIfNoCase Referer "http://123.com" local_ref SetEnvIfNoCase Referer "^$" local_ref
Order Allow,Deny Allow from env=local_ref
配置详解:
(定义网站的目录) SetEnvIfNoCase Referer "http://www.111.com" local_ref (定义referer的白名单) SetEnvIfNoCase Referer "http://123.com" local_ref(定义refererd的白名单) SetEnvIfNoCase Referer "^$" local_ref(定义空的referer为白名单)
(定义规则,针对这样的访问做一个白名单) Order Allow,Deny Allow from env=local_ref
(这里的含义为将白名单referer允许,其它的规则deny)
[root@chy ~]# /usr/local/apache2.4/bin/apachectl graceful(加载配置)[root@chy ~]# curl -x127.0.0.1:80 www.111.com/lf.png -IHTTP/1.1 403 ForbiddenDate: Thu, 03 Aug 2017 00:56:11 GMTServer: Apache/2.4.27 (Unix) PHP/5.6.30Content-Type: text/html; charset=iso-8859-1(测试做防盗链的结果)[root@chy 111.com]# curl -x127.0.0.1:80 www.111.com/lf.png -IHTTP/1.1 200 OKDate: Thu, 03 Aug 2017 00:00:31 GMTServer: Apache/2.4.27 (Unix) PHP/5.6.30Last-Modified: Wed, 19 Oct 2016 08:52:35 GMTETag: "1bca7-53f33ee277ac0"Accept-Ranges: bytesContent-Length: 113831Cache-Control: max-age=86400Expires: Fri, 04 Aug 2017 00:00:31 GMT

Content-Type: image/png

(这个是之前测试没有做防盗链的结果) 本文转自我不是瘦子51CTO博客,原文链接:
http://blog.51cto.com/chy940405/2047950,如需转载请自行联系原作者
 
你可能感兴趣的文章
【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型
查看>>
轨磁条简介
查看>>
(算法)交错的字符串
查看>>
hdu 5471(状压DP or 容斥)
查看>>
oracle.jdbc.driver.OracleDriver和oracle.jdbc.OracleDriver这两个驱动的区别
查看>>
NSQ部署
查看>>
git常用命令记录
查看>>
IBM发布新一代云计算工具包MobileFirst Foundation
查看>>
唯品会HDFS性能挑战和优化实践
查看>>
大规模学习该如何权衡得失?解读NeurIPS 2018时间检验奖获奖论文
查看>>
大厂前端高频面试问题与答案精选
查看>>
我们用5分钟写了一个跨多端项目
查看>>
Visual Studio 15.4发布,新增多平台支持
查看>>
有赞透明多级缓存解决方案(TMC)设计思路
查看>>
如何设计高扩展的在线网页制作平台
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
Swift 5将强制执行内存独占访问
查看>>
中台之上(二):为什么业务架构存在20多年,技术人员还觉得它有点虚?
查看>>
深度揭秘腾讯云低功耗广域物联网LPWAN 技术及应用
查看>>
与Jeff Sutherland谈敏捷领导力
查看>>