php应用篇-百度图片的防盗链
来源:互联网 发布:股票 潜伏日历 软件 编辑:程序博客网 时间:2024/05/24 04:47
众所周知,一个网站如果的图片流量很占用网络带宽,因此,防止图片的被盗连就显得重中之重。这里,简单讲解下百度如何防止图片的盗链的原理,接着介绍下如何通过php来盗取图片,正所谓,道高一尺魔高一丈,防守和进攻总是不断地相互促进发展。
首先,简单介绍下盗链,按照百度百科的介绍“盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。”。所以,这里图片盗链就是在自己的服务器上引用百度的图片结果,而不把图片放到自己的服务器上,这样就减少了服务器的带宽了。
举个例子:给出个百度图片的url:
- http://c.hiphotos.baidu.com/image/w%3D210/sign=ed30880babec8a13141a50e1c7029157/d52a2834349b033be1a9503e17ce36d3d539bd35.jpg
如果直接通过浏览器访问,我们就会得到真实的图片,如下图:
但是如果我们在自己的服务器上通过
- <img src="http://c.hiphotos.baidu.com/image/w%3D210/sign=ed30880babec8a13141a50e1c7029157/d52a2834349b033be1a9503e17ce36d3d539bd35.jpg" />
来获取它的内容。
那么我们就会得到下面的图片:
这里因为我们请求图片的时候http请求的header中有Referer:这个字段,他标示了我们不是百度自己的服务器,所以请求不被正常处理,这里我们就可以通过php中的curl扩展来伪造http请求从而得到正确的图片。代码如下:
- <?php
- $url = 'http://c.hiphotos.baidu.com/image/w%3D210/sign=ed30880babec8a13141a50e1c7029157/d52a2834349b033be1a9503e17ce36d3d539bd35.jpg';//$_GET["url"];
- $dir = pathinfo($url);
- $host = $dir['dirname'];
- $refer = $host.'/';
- $ch = curl_init($url);
- curl_setopt ($ch, CURLOPT_REFERER, $refer);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//Activation can modify the page
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
- $data = curl_exec($ch);
- curl_close($ch);
- header("Content-type: image/jpeg");
- print( $data );
经过这么处理之后,我们就可以盗取到百度的图片了。
0 0
- php应用篇-百度图片的防盗链
- php应用篇-百度图片的防盗链
- php应用篇-百度图片的防盗链
- 破解百度图片的防盗链
- PHP 图片防盗链的一段代码
- php破解防盗链图片
- 转.搞定百度图片防盗链
- 百度图片防盗链处理函数
- 破解图片防盗链的代码(asp/php)测试通过
- php防盗链网站图片采集
- php curl破解图片防盗链
- 图片防盗链的解决办法
- php防盗链的方法
- 破解百度空间、新浪相册、网易、搜狐等博客图片防盗链的方法
- java struts2模拟百度百科图片中的防盗链设置
- php实现图片文件与下载文件防盗链的方法
- 骗菜鸟的图片防盗链代码
- 有效的破解图片防盗链
- Android RecyclerView 使用完全解析 体验艺术般的控件
- 安装和配置ROS环境
- MyBatis分页插件
- 奋斗吧,程序员——第十三章 蓦然回首,那人却在灯火阑珊处
- 从TCP协议的原理来谈谈rst复位攻击
- php应用篇-百度图片的防盗链
- C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
- PHP实现插入排序
- Android自定义下拉刷新动画--仿百度外卖下拉刷新
- 奋斗吧,程序员——第十四章 从别后忆相逢,几回魂梦与君同
- bootstrap学习心得笔记--第一节【bootstrap配置】
- Unity Shader 小功能之 透明
- 大数据比赛(2)-特征那点儿事
- Android Studio 集成版本控制工具的使用