微信公众号助手
专业的微信文章采集器

隐藏图片地址,伪造来路Referer实现绕过防盗链

经过测试发现,之前写了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实现绕过防盗链

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址