网站建设笔记

笔记:图片防盗链破解方法

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

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

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

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

?>

运用起来很简单  在你网站目录建个php文件  命名为 666.php  比如我自己网站就可以这样https://www.vz37.com/666.php?img=跟上原图片地址。即可

https://www.vz37.com/666.php?img=跟上原图片地址

如果是wp的话  图片通过上面方法能访问以后,可以用 nicen-localize-image      图片本地化插件 保存远程图片到本地,实现完全破解。只要本地能访问该图片  插件运行就能自动下载保存到本地wp。

还有更高级一点的可以伪造头部来源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://www.vz37.com/666.php?url=图片地址&refer=来源地址 。

https://www.vz37.com/666.php?url=图片地址&refer=来源地址 。

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注