前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么突破图片防盗链?

怎么突破图片防盗链?

作者头像
天方
发布2022-08-30 11:41:39
1.9K0
发布2022-08-30 11:41:39
举报
文章被收录于专栏:tianfangtianfang

很多时候网站想引用别人网站里的图片但别人设置了防盗链,我们想引用但又用不了,那怎么办呢?

其实很简单,破解防盗链最好的办法就是直接读取。做为一个phper(哈哈当然不是),当然是用php来突破了

用到php中一个常用的函数file_get_contents(图片地址),意思是读取远程的一张图片,在输出就完事。非常简单~话不多说,直接上代码

代码语言:javascript
复制
<?php
header("Content-type: image/jpeg");//防止输出乱码
$img=$_GET['img'];//通过get方法获取图片地址
echo file_get_contents($img);//角色上场

?>

使用方法:新建一个img.php文件,把代码贴进去。你的链接/img.php?img=图片链接

下面是我搭建好的,搭建可以直接使用:http://blog.eirds.cn/img.php?img=

再说说更变态的方法,接一下我演示一个判断请求来源的防盗链!!

这里就要用到PHP 中强大的curl,他可以伪造头部来源IP,来源地址,甚至可以使用proxy,PHP爬虫必备。

我们来简单分析一下吧。

这是一个连接,点击A标签可以看到一张图片,

,但是我们直接打开这张图片是不行的,因为他判断了请求的链接。如果不是在那个链接打开的,就会返回404,

,再继续分析,我们看一下请求refer,! [9{8FATCT@(EASG_HA@IY`8.png 可以看到必须是refer这个地址才行。那么我们就只有欺骗他的服务器了。废话不多说,直接贴代码,这是我封装好的CURL

代码语言:javascript
复制
<?php  
    function Crack_img($url,$refer){  
    $ch = curl_init($url);  //设置图片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);  
      
    //$ext = strtolower(substr(strrchr($img,'.'),1,10));  
    //输出图片格式
    /*$types = array(  
                'gif'=>'image/gif',  
                'jpeg'=>'image/jpeg',  
                'jpg'=>'image/jpeg',  
                'jpe'=>'image/jpeg',  
                'png'=>'image/png',  
    );*/  
    //$type = $types[$ext] ? $types[$ext] : 'image/jpeg';  
    header("Content-type:image/jpeg");  //输出二进制流图片
    return $data;}
        $url = $_GET["url"];  
        $refer = $_GET['refer'];
        echo Crack_img($url,$refer);

使用方法:新建PHP文件,粘贴进去,命名.php?url=图片地址&refer=来源地址

这是我搭建好的,大家可以直接使用:blog.eirds.cn/image.php?url=图片地址&refer=来源地址

转载请注明来源,此文章为本博原创


版权属于:龙辉博客

本文链接:https://cloud.tencent.com/developer/article/2086753

如果没有特别声明则为本博原创。转载时须注明出处及本声明!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档