# 破解图片反防盗链的方法

*Published:* 2024-10-22
*Author:* 飞翔001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年10月22日，已超过 180天没有更新



### 方法一

代码如下：

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

运用起来很简单 在你网站目录建个php文件 命名为 img.php 比如我自己网站就可以这样：

> https://hhymw.com/img.php?img=跟上原图片地址即可。

还有更高级一点的可以伪造头部来源IP，来源地址，请求refer，PHP代码如下：

```
<?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文件，然后访问+链接。只是这里有个重点需要加来源地址举例说明：

> https://hhymw.com/img.php?url=图片地址&amp;refer=来源地址

方法二

另一方法代码如下：

```
<?php
$p=$_GET['p'];
$pics=file($p);
for($i=0;$i< count($pics);$i++)
{
echo $pics[$i];
}
?>
```

把以上php代码保存为一个php文件，比如pic.php，然后放到你网站根目录，比如我的网站，加上这个pic.php再加上“?p=”跟上原图片地址即可。示例如下：

> https://hhymw.com/pic.php?p=原图片地址

网络中收集的一些图片镜像缓存服务网站

> https://search.pstatic.net/common?src=
> 
> https://imageproxy.pimg.tw/resize?url=
> 
> https://images.weserv.nl/?url=
> 
> https://pic1.xuehuaimg.com/proxy/