配置防盗链

简介:

配置防盗链

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

(1)配置防盗链

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

Content-Type: image/png

(这个是之前测试没有做防盗链的结果) 本文转自我不是瘦子51CTO博客,原文链接: http://blog.51cto.com/chy940405/2047950,如需转载请自行联系原作者
相关文章
|
数据安全/隐私保护 开发者 CDN
CDN 防盗链设置| 学习笔记
快速学习 CDN 防盗链设置。
CDN 防盗链设置| 学习笔记
|
7月前
|
应用服务中间件 nginx CDN
面试题:防盗链
面试题:防盗链
57 0
|
Docker 容器
80 # 图片防盗链
80 # 图片防盗链
51 0
|
CDN
CDN设置防盗链及使用鉴权功能——设置防盗链
CDN设置防盗链及使用鉴权功能——设置防盗链自制脑图
222 0
CDN设置防盗链及使用鉴权功能——设置防盗链
|
CDN
CDN防盗链设置
CDN防盗链设置自制脑图
152 0
CDN防盗链设置
|
弹性计算 负载均衡 网络协议
源站保护
源站保护
193 0
源站保护
|
应用服务中间件 Linux Apache
【防盗链】Nginx与Apache 防盗链教程
一、为什么要用防盗链? 什么是盗链? 一般情况下,别的网站如果直接链接虚拟主机中的网页,是可以提高网站的知名度与访问量,是受到ICP内容提供商或站长的欢迎的,但是,如果别的网站是偷偷直接链接您的网站中的音乐、电影、图片、zip文件及其它下载类资源,让网民免费看你的电影,不但不会提高您网站的知名度,还会让您的网站中产生大量没有意义的流量,如果一台服务器中存在大量这种盗链情况,服务器的速度就会下降。     从ICP内容提供商或站长的角度来看,辛辛苦苦做出来的内容,被别人偷偷使用,肯定心中不好受,显然,这种盗链是侵犯知识产权的行为。对于收费的下载类网站,这意味着有人可以不付费就享受您的服务!更严重
|
存储 安全 对象存储
防盗链使用过程中遇到的问题
防盗链使用过程中遇到的问题
220 0
|
Java JavaScript 前端开发
解决图片 防盗链
js版解决方案 var url = 'https://mmbiz.qpic.cn/mmbiz_jpg/TAoksPVlXMI7dQPxiaUbAHvyJ19iaG9b2Ueh53iaqTsn6F8O3m63zcBibgNpujM1HNeCKX99vOo...
1859 0