教程开始:
用PHP破解防盗链图片的简单方法,假设一张防盗链的图片,直接打开时无法显示真实图片(除chrome浏览器外),而下面是两种破解的方法:
1.使用iframe的方法
<script>window.sc="<img src='https://tva3.sinaimg.cn/large/0072Vf1pgy1foxk3qdi4cj31kw0w0kh2.jpg?"+Math.random()+"'>";</script> <iframe id="imiframe" src="javascript:parent.sc" style="border:none; overflow: hidden;" scrolling="no" frameborder="0" onload="javascript:var x=document.getElementById('imiframe').contentWindow.document.images[0];this.width=x.width+10;this.height=x.height+10;"></iframe>
2.使用方法:新建PHP文件,粘贴进去,命名.php?url=图片地址&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);
发表评论