`
余贵彬
  • 浏览: 57725 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

图片盗链和防盗链

 
阅读更多
背景:今天为了了解高并发,大访问量的技术中,有提到防盗链这块,就先整理清楚这块的内容..

什么是盗链?(具体请参考)
    http://www.cnblogs.com/AngelLee2009/archive/2011/10/13/2209594.html

第一部分:如何防盗链

第一种方式,通过服务器配置来禁止非法访问,我这里要以Nginx配置为例;
   具体请参考:http://blog.csdn.net/longjef/article/details/53284108


第二种方式: 通过动态防护处理的方式,但是可能会影响网站的性能;




第二部分: 如何盗链
无非就是动态模拟头部等方式去读取内容,如果系统做了第二种动态防护的方式,就得想其他的方式了,目前没有好想法~_~






代码:
nginx配置防盗链
location ~* \.(gif|jpg|jpeg|png|bmp|swf)$ {
     valid_referers  none blocked my_mobile.com ;
      if ($invalid_referer) {
           return   403;
       }
}

盗链防护代码

<!--正常的图片访问方式-->
<img src="http://my_mobile.com/static/images/getheadimg.jpg">
<!--防盗链的图片访问方式-->
<img src="http://my_mobile.com/test/get_img?id=xxx">

//这里只是举个简单的例子,至于id验证,逻辑判断和面向对象写法,自己实际去做的时候去优化
//实际路由,请自己复制代码到项目中进行测试
public function get_img($img_name='getheadimg.jpg') {
$file_name = FCPATH."/static/images/".$img_name;
$img_data = fread(fopen($file_name,'rb'),filesize($file_name));
$img_info = getimagesize($file_name);
header("content-type:{$img_info['mime']}");
echo $img_data;
}

盗链代码

//PHP如何盗链
    public function index() {
        //第一种情况:没做防盗链处理的盗链方式,直接访问就可以了     
        // echo '<img src="http://my_mobile.com/static/images/add.png">';
       
        //第二种情况: 做了nginx防盗链处理的盗链方式,还是可以盗链
        $url="http://my_mobile.com/static/images/getheadimg.jpg";
        //方式一
//        $dir = pathinfo($url);
//        $refer = $dir['dirname'].'/';
//        $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 );
        //方式二:
         header('Content-type: image/jpeg');
        echo file_get_contents($url);
    }
  • 大小: 4.4 KB
  • 大小: 27.7 KB
  • 大小: 25.2 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java 防盗链详解及解决办法

    主要介绍了 java 防盗链详解及解决办法的相关资料,这里介绍了防盗链的概念、产生原因及Http中的referer,最后介绍解决办法,需要的朋友可以参考下

    ISAPI Rewrite实现IIS图片防盗链

    为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。  实施步骤:  1.下载比较出名的www.helicontech.com提供的ISAPI Rewrite软件的免费版本(免费版本虽然有一些功能上...

    破解图片盗链JS

    这是一个不错的破解图片盗链JS。利用html就可以破解盗链。

    采集破解防盗链图片显示的方法

    是PHP破解防盗链的代码的源码,解决采集图片盗链不显示的方法,很简单,特别实用。

    三招两式 解决图片盗链无法查看问题

    有些粗心大意的人转贴时,简单地把图片复制了过来。可如果该网站的图片设置为防止外部链接,我们遇到转载的好帖,又找不到原出处,难道只有哀叹的份么?

    微信防盗链JavaScript

    微信图片防盗链破解,微信文章图片转载不显示解决方案

    php微信图片盗链

    微信防盗链处理,微信图片盗链,php微信图片盗链,盗链图片处理信息

    破解图片反盗链

    破解图片反盗链 ASP 、 JSP 、PHP 这几种语言的破解都在里面了,很简单,特别实用

    亦梦IIS图片防盗链V3.0

    在IIS里成功加载本插件后可以有效的防止自己站点里的图片文件被其他站点盗链,并可自定义当图片被盗链时显示的图片,非常适用于图片资源类站点,可有效的保护自己站点的图片资源。 本软件自带人性化设置面板

    彻底防盗链&搜索引擎优化

    超强流媒体防盗功能:flash/图片/多媒体文件,您都可以安心地将这些文件放置在您的网站上,而不必担心被别人偷盗链。 无须任何包含文件,纯 HTML 页面也能防流媒体盗链。 独有的偷盗者日志记录,火眼金晶,让你...

    防盗链及流量控制(纵横IIS链接嗅探狗) v3.9 增强版

    9. 支持流媒体防盗链,包括Flash和电影在线播放,音乐在线播放,流媒体盗链采用64位加密技术。 10. 采用C++编写,处理速度快,占用资源极少,效率要比.net php asp 这类脚本解释的效率要高得多。 11. 使用该过滤器...

    PHP防盗链的基本思想 防盗链的设置方法

    网站盗链会大量消耗被盗链网站的带宽,而真正的点击率也许会很小,严重损害了被盗链网站的利益。本文主要介绍用PHP实现防盗链的方法以及基本思想,希望对你有帮助,一起来看。

    WBAL防盗链工具 v0.3

    要求asp.net环境,并要在IIS里设置网站属性,可以用来限制图片等文件的盗链,通过referrer判断,如果没有引用页返回真实文件,如果引用页的域名不是本网站域名则返回wbtbForbidden.jpg这个图片,文件不存在返回...

    如何设置WordPress图片防盗链方法 推荐

    网上有许多设置图片防盗链方法,这里提供两种,一是利用.htaccess文件进行一些简单的设置便能够轻易防止别人盗取自己网站原创图片的链接;二是使用插件WP Hotlink Protection。 一.修改.htaccess文件 怎么实现?首先...

    教你怎么防止别人盗用你的图片,nginx防盗链

    两个网站 A 和 B, B网站引用了A网站上的图片,这种行为就叫做盗链。 防盗链,就是要防止B引用A的图片。 1.如何区分哪些是不正常的用户? ​ HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,...

    C# ASP.NET 模块 - 防盗链模块

    ☆ 功能如下:☆ 使用 Handler 处理程序处理图片;

    Asp.Net Core 通过中间件防止图片盗链的实例

    本篇文章主要介绍了Asp.Net Core 通过中间件防止图片盗链的实例,具有一定的参考价值,有兴趣的可以了解一下。

    wx-image-bridge:解决微信等网站图片防盗链的问题

    wx-image-bridge解决微信外链公众号图片防盗链图片无法正常展示的问题,其他网站的图片应该也适用,未测试。使用方法在启动服务后,将图片地址按如下格式拼接在服务器地址后,可以正常访问。示例:...

    威盾VirtualWall防盗链专家 v3.0.7.1046

    流媒体防盗功能:flash/图片/多媒体文件,您都可以安心地将这些文件放置在您的网站上,而不必担心被别人偷盗链,彻底防迅雷等软件。 彻底防迅雷、FlashGet等;支持远古等点播系统(详见安装目录下帮助文件) 无需重启...

    亦梦IIS图片防盗链 v5.0

    在IIS里成功加载本插件后可以有效的防止自己站点里的图片文件被其他站点盗链,并可自定义当图片被盗链时显示的图片,非常适用于图片资源类站点,可有效的保护自己站点的图片资源

Global site tag (gtag.js) - Google Analytics