• 技术文章 >后端开发 >php教程

    php curl破解图片防盗链

    2016-07-29 09:01:26原创850
    防盗链

    百度里面的定义是:此内容不在自己服务器上,二通过技术手段,绕过别人放广告有利也的最终页,直接在自己的有广告利益的页面向最终用户提供此内容。常常是一些小网站来盗取一些有实力的大网站的地址(比如一些因为、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量
    

    这样可以减轻自己网站服务器的压力,为什么?毕竟带宽是有有限的,尤其是上行带宽

    防盗链的实现原理:

    http标准协议中有一个叫做referer的字段
    随便在百度中所搜一个东西,然后点开抓包,
    

    php curl破解图片防盗链

    1.追溯上一个入站地址是什么
    2.对于资源文件,可以跟踪到包含显示他的网页地址是什么
    

    因此基于所有的防盗链都是基于referer字段来设置的

    那么如何才能绕过防盗链对所需资源进行抓取???

    在通常的处理过程中,如果在自己的站点直接引入百度的图片
    php curl破解图片防盗链

    (⊙o⊙)哦,引入链接失败咯啊!!!那么怎么用curl处理
    毕竟要爬取必要的信息

    $url="http://c.hiphotos.baidu.com/image/w%3D210/sign=ed30880babec8a13141a50e1c7029157/d52a2834349b033be1a9503e17ce36d3d539bd35.jpg";
        //$url = str_replace("http:/","http://",$url); $dir = pathinfo($url);
        $host = $dir['dirname'];
        $refer = $host.'//m.sbmmt.com/m/';
        $ch = curl_init($url);
        curl_setopt ($ch, CURLOPT_REFERER, $refer);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        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 );

    然后么,因为直接print了,所以结果是这样的
    php curl破解图片防盗链

    最后怎么在浏览器里边正常显示,明天写吧!!!

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了php curl破解图片防盗链,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php56源码安装及php-fpm配置 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)
  • 相关文章推荐

    • 浅析PHP应用程序中正确调用系统命令的方法• 求解:phpcms模板怎样转码?该怎么解决• 想请问一下印证的有关问题• PHP怎么调用其它语言程序 • php 之 cookie 跟 session 简单解读(笔记)
    1/1

    PHP中文网