文章抓取显示盗链 php,web资源盗链与防盗链技术解析

favicon.ico摘要:什么是资源盗链?简单的说,就是某些不法的网站,通过在其自身网站程序里未经过许可非法调用其他网站的资源,然后在自己的网站上显示这些调用的资源,达到了填充自身网站显示的效果,但是浪费了调用资源网站的网络流量,造成其他网站的带宽及服务压力吃紧,甚至宕机。

1、什么是资源盗链

简单的说,就是某些不法的网站,通过在其自身网站程序里未经过许可非法调用其他网站的资源,然后在自己的网站上显示这些调用的资源,达到了填充自身网站显示的效果,但是浪费了调用资源网站的网络流量,造成其他网站的带宽及服务压力吃紧,甚至宕机。

2、模拟盗链与防盗链

实验环境:本地apache

php版本:php5.5.38

先在本地建立两个模拟站点,一个资源模拟站点(test1.com),一个盗链站点(test2.com),两个站点情况如下:

20190307_1551949716214195.jpg

20190307_1551949735838288.jpg

防盗链处理前,从下面的Referer中可以发现,模拟资源站点和模拟盗链站点都可以正常请求资源站点的资源。

20190307_1551950037771728.jpg

.htaccess防盗链处理RewriteEngine On

RewriteCond %{HTTP_REFERER} !test1.com [NC]

RewriteRule .*.(html)$ http://test1.com/error.txt [R,NC,L]

RewriteCond %{HTTP_REFERER} !test1.com [NC] 这一行表示请求来源不是test1.com这个站点。

RewriteRule .*.(html)$ http://test1.com/error.txt [R,NC,L]这一句表示,请求的html页面来源不是test1.com将跳转到http://test1.com/error.txt这个页面。

这里为了模拟方便用的是html页面防盗链,其他文件防盗链只需将(html)里的html换成文件后缀即可,多种文件防盗链用"|"隔开,如(zip|png|gif);

下图是通过.htaccess防盗链处理后,再次请求的情况,从图中可以明显的看出,防盗链处理后,无法通过站外访问站内资源,通过站外盗链访问站内资源时会自动转向我们设定的盗链提示页面,但依然可以通过站内访问站内资源。

20190307_1551950397529264.jpg

盗链与防盗链的实现原理大致是这样的,在后面的文章中心月IT技术博客会继续分享防盗链的其他方法。

3、为什么会出现盗链

一般浏览一个页面并不是一次全部传送到客户端的,而是最先的一个http请求被传送回来的是这个页面的文本,然后通过客户端的浏览器对这段文本的解释执行,发现还有图片,那么客户端的浏览器会再发送一条http请求,当这个请求被处理后那么这个图片文件会被传送至客户端,然后浏览器会将图片安放到页面的正确位置,这样一个完整的页面经过发送多条http请求才被完整的显示。从上面的模拟实验中在做防盗链前,虽然两个测试站点都能正常请求访问downloadfile1,但二者的请求来源却不一样,正是基于这样的机制,所以就产生了盗链问题。盗链不仅损害了原网站的合法利益,还加重了服务器的负担,同时也还会影响网站数据的统计,尤其对统计数据有严格要求的网站。

4、盗链的大致分类

最多的是两类盗链,图片盗链(gif、.jpg、.png等)和文件盗链(各种下载文件)。被一个访问量极大的网站盗用,会消耗不少的带宽。其他盗链包括:音频盗链、视频盗链。

5、盗链的防范

本文中的模拟防盗链中防盗链方法只是针对虚拟主机的简单防盗链,后面会心月IT博客会分享更多其他的防盗链方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值