当前位置: 首页 > article >正文

网站引用图片但它域名被墙了或者它有防盗链,我们想引用但又不能显示,本文附详细的解决方案非常简单!

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

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

?>

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

下面是我搭建好的,搭建可以直接使用: https://www.bsdy.net/img.php?url=

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

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

我们来简单分析一下吧。

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

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

,再继续分析,我们看一下请求refer,

可以看到必须是refer这个地址才行。那么我们就只有欺骗他的服务器了。废话不多说,直接贴代码,这是我封装好的CURL

<?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);  
    header("Content-type:image/jpeg");  //输出二进制流图片
    return $data;
    }

    $url = $_GET["url"];  
    $refer = $_GET['refer'];
    echo Crack_img($url,$refer);

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

这是我搭建好的,大家可以直接使用:https://www.bsdy.net/img.php?url=图片地址&refer=来源地址


http://www.kler.cn/news/274347.html

相关文章:

  • rviz上不显示机器人模型(模型只有白色)
  • 【Numpy】(2)numpy对象和random模块
  • openEuler 欧拉系统nginx正向代理 http https —— 筑梦之路
  • 【数据结构取经之路】栈
  • 使用uniapp,uni-data-select组件时,内容长度没超过容器宽度时候虽然能显示全内容但是数据后边会出现三个点,逼死强迫症
  • nginx实现多个域名和集群
  • 鸿蒙实战开发:【FaultLoggerd组件】讲解
  • 英伟达深夜放王炸|字节跳动游戏之路波折不断|文旅短剧风口将至|25岁QQ魅力不减,5亿人在用|云计算市场疯长152%|电商巨头齐瞄向富足悠闲银发族
  • 刷题日记:面试经典 150 题 DAY6
  • SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
  • php前端和java后端数据调用流程
  • F-logic DataCube3 任意文件上传漏洞复现(CVE-2024-25832)
  • 【C++】用红黑树模拟实现set、map
  • 学习笔记--强化学习(1)
  • 使用jQuery的autocomplete实现数据查询一次,联想自动补全
  • Apache Dolphinscheduler - 无需重启 Master-Server 停止疯狂刷日志解决方案
  • Linux下安装Android Studio及创建桌面快捷方式
  • 【论文阅读】Improved Denoising Diffusion Probabilistic Models
  • mysql逗号分隔字段拆成行简述
  • Redis的安装和部署教程(Windows环境)