经过测试发现,之前写了2篇文章是教大家如何绕过防盗链图片的方法的,但是iframe的框架方法似乎不太兼容浏览器,用html5.qq.com的话又是只有部分网站可以,具体不知道是服务器环境原因还是什么原因有待考察。下面就叫大家用php写一个绕过的代码,你只需要把php上传到你的服务器,然后软件里设置.ini文件里添加配置项即可实现。
php代码如下,保存为image.php文件
<?php /** 此程序作为绕过微信图片的防盗链机制,通过这个文件中转可以实现绕过。 文件名可随意修改,但在孤狼采集软件里,地址必须改为正确的名称。 原理就是伪造一个空的Referer来路可以绕过。从而使软件可以预览和下载微信的图片。 警告:删除本程序会导致软件无法预览和下载微信图片。 **/ function getRemoteFile($url, $refer = '') { $option = array( 'http' => array( 'header' => "Referer:$refer") ); $context = stream_context_create($option); return file_get_contents($url, false, $context); } $url = $_GET['url']; $url = addslashes($url); $str = getRemoteFile($url); header('content-type:image/jpg;'); echo $str; ?>
把以上代码存为php文件,然后上传到相应的服务器目录里,然后到软件设置选项里,勾选,并填入:
软件就会帮你把源码里的img src=的图片网址给替换成这个,http://www.domain.com/image.php?url=http://mmbiz.qpic.cn/mmbiz_jpg/ow6przZuPIFNYKqF4c7WnF5dwlZibpbsK2zYAsDHrTKOHM2T802JZiaI2xe33nc08iazDrXNMibejNb9UuvLB86LzQ/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1
其中的原理就是,把图片带空来路加载出来输出到页面上。以上代码才疏学浅,如果有更好的方法,希望会php的朋友可以指教一下。
第二种方法代码:
<?php header("Content-Type:image/png"); $string = $_SERVER["QUERY_STRING"]; /*换一张空白图片,如果遇到错误,需要用上*/ $im = imagecreate(600, 300); $black = imagecolorallocate($im, 100, 100, 100);//图片背景 $white = imagecolorallocate($im, 255, 255, 255); /*获取图片的真实地址*/ $url = strstr($string, "http"); if (!$url) { imagettftext($im, 18, 0, 200, 100, $white, "./fonts/hwxh.ttf", "Error 001"); imagettftext($im, 14, 0, 150, 150, $white, "./fonts/hwxh.ttf", "请在参数中输入图片的绝对地址。"); imagepng($im); exit(); } @$imgString = urlOpen($url); if ($imgString == "") { imagettftext($im, 18, 0, 200, 100, $white, "./fonts/hwxh.ttf", "Error 002"); imagettftext($im, 14, 0, 70, 150, $white, "./fonts/hwxh.ttf", "加载远程图片失败,请确认图片的地址能正常访问。"); imagepng($im); exit(); } /*如果没有错误*/ $im = imagecreatefromstring($imgString); $white = imagecolorallocate($im, 255, 255, 255); /*加上水印*/ //imagettftext($im, 12, 0, 20, 20, $white, "./fonts/hwxh.ttf", "水印的文字1"); //imagettftext($im, 12, 0, 5, 35, $white, "./fonts/hwxh.ttf", "水印(可以写你的网址)"); imagepng($im); /*抓取图片*/ function urlOpen($url, $data = null, $ua = '') { if ($ua == '') { $ua = 'MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'; } else { $ua = $ua; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $content = curl_exec($ch); curl_close($ch); return $content; } ?>
未经允许不得转载:www.gulangu.com孤狼工作室 » 隐藏图片地址,伪造来路Referer实现绕过防盗链