破解图片防外链,图片反防盗链的方法

axin 2024-09-24 233人围观 ,发现0个评论 破解图片防盗链反图片防盗链

1.破解图片防外链,图片反防盗链的方法

经常遇到一个图片在本网站里打开没问题,外部引用到自己网站就嘎了!只能手动挨个下载上传。

今天总结尝试下图片防盗链破解方法和网站防止图片外部链接破解

php中一个常用的函数file_get_contents(图片地址),意思是读取远程的一张图片,然后再输出,很简单的代码:

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

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

https://topyun.vip/img.php?img=跟上原图片地址即可。

还有更高级一点的可以伪造头部来源IP,来源地址,请求refer:

<?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://topyun.vip/img.php?url=图片地址&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://topyun.vip/pic.php?p=原图片地址

2.后记

网络中收集的一些图片镜像缓存服务,在很多时候可以起到不错的用途。

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

图像缓存可以用来做什么?

  • 可以将有防盗链的图片引用到网页,并成功显示。

  • 可以将 http 图片引用到 https 页面而不出现证书问题。

  • 可以将 xxx 的图片,成功加载。

  • 可以将比较慢的图片资源,加快显示。

部分服务图片链接可以不添加 http:// 或 https:// 协议。

 1 https://imageproxy.pimg.tw/resize?url=https://i.imgur.com/hWghm6oh.jpg
 2 https://images.weserv.nl/?url=i.imgur.com/hWghm6oh.jpg
 3 https://pic1.xuehuaimg.com/proxy/i.imgur.com/hWghm6oh.jpg

对速度有要求可以首选 

https://search.pstatic.net/common?src=

 经过测试这个是速度比较快的图片缓存代理。

防盗链图片演示

 http://pic1.zhimg.com/v2-8b657dff159debf1cff463d61b7dcafd_r.jpg

该图片是知乎图片,存在防盗链直接贴在网页中无法显示,在图片外链前面加上图片镜像服务后可以正常显示了。

 https://i.imgur.com/hWghm6oh.jpg

该图片是知名图床 imgur 的图片,至今已有 10 多年历史,由于上面不限制上传图片类型所以在中国无法打开,在图片外链前面加上图片镜像服务后就可以正常显示了。

3.说明

有些图片代理链接,经过大量使用,已经被墙了,所以有些需要科学工具,才能访问,不过代理链接的目的便是实现反盗链功能。


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯