知识大全 解析php下载远程图片函数 可伪造来路

Posted 函数

篇首语:与理想平等交易,同喧嚣保持距离。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 解析php下载远程图片函数 可伪造来路相关的知识,希望对你有一定的参考价值。

复制代码 代码如下: <?php function DownImageKeep($gurl $rfurl $filename $gcookie="" $JumpCount= $maxtime= ) $urlinfos = GetHostInfo($gurl); $ghost = trim($urlinfos[ host ]); if($ghost== ) return FALSE; $gquery = $urlinfos[ query ]; if($gcookie=="" && !empty($rfurl)) $gcookie = RefurlCookie($rfurl); $sessionQuery = "GET $gquery HTTP/ rn"; $sessionQuery = "Host: $ghostrn"; $sessionQuery = "Referer: $rfurlrn"; $sessionQuery = "Accept: */*rn"; $sessionQuery = "User Agent: Mozilla/ (patible; MSIE ; Windows )rn"; if($gcookie!="" && !preg_match("/[rn]/" $gcookie)) $sessionQuery = $gcookie "rn"; $sessionQuery = "Connection: Keep Alivernrn"; $errno = ""; $errstr = ""; $m_fp = fsockopen($ghost $errno $errstr ); fwrite($m_fp $sessionQuery); $lnum = ; //获取详细应答头 $m_head = Array(); $tas = explode(" " fgets($m_fp )); $m_head[" edition"] = trim($tas[ ]); $m_head[" state"] = trim($tas[ ]); while(!feof($m_fp)) $line = trim(fgets($m_fp )); if($line == "" || $lnum> ) break; $ey = ""; $hvalue = ""; $v = ; for($i= ; $i<strlen($line); $i++) if($v== ) $hvalue = $line[$i]; if($line[$i]==":") $v = ; if($v== ) $ey = $line[$i]; $ey = trim($ey); if($ey!="") $m_head[strtolower($ey)] = trim($hvalue); //分析返回记录 if(preg_match("/^ /" $m_head[" state"])) if(isset($m_head["location"]) && $JumpCount< ) $JumpCount++; DownImageKeep($gurl $rfurl $filename $gcookie $JumpCount); else return FALSE; if(!preg_match("/^ /" $m_head[" state"])) return FALSE; if(!isset($m_head)) return FALSE; $contentLength = $m_head[ content length ]; //保存文件 $fp = fopen($filename "w") or die("写入文件 $filename 失败!"); $i= ; $okdata = ""; $starttime = time(); while(!feof($m_fp)) $okdata = fgetc($m_fp); $i++; //超时结束 if(time() $starttime>$maxtime) break; //到达指定大小结束 if($i >= $contentLength) break; if($okdata!="") fwrite($fp $okdata); fclose($fp); if($okdata=="") @unlink($filename); fclose($m_fp); return FALSE; fclose($m_fp); return TRUE; /** * 获得某页面返回的Cookie信息 * * @access public * @param string $gurl 调整地址 * @return string */ function RefurlCookie($gurl) global $gcookie $lastRfurl; $gurl = trim($gurl); if(!empty($gcookie) && $lastRfurl==$gurl) return $gcookie; else $lastRfurl=$gurl; if(trim($gurl)== ) return ; $urlinfos = GetHostInfo($gurl); $ghost = $urlinfos[ host ]; $gquery = $urlinfos[ query ]; $sessionQuery = "GET $gquery HTTP/ rn"; $sessionQuery = "Host: $ghostrn"; $sessionQuery = "Accept: */*rn"; $sessionQuery = "User Agent: Mozilla/ (patible; MSIE ; Windows )rn"; $sessionQuery = "Connection: Closernrn"; $errno = ""; $errstr = ""; $m_fp = fsockopen($ghost $errno $errstr ) or die($ghost <br /> ); fwrite($m_fp $sessionQuery); $lnum = ; //获取详细应答头 $gcookie = ""; while(!feof($m_fp)) $line = trim(fgets($m_fp )); if($line == "" || $lnum> ) break; else if(preg_match("/^cookie/i" $line)) $gcookie = $line; break; fclose($m_fp); return $gcookie; /** * 获得网址的host和query部份 * * @access public * @param string $gurl 调整地址 * @return string */ function GetHostInfo($gurl) $gurl = preg_replace("/^///i" "" trim($gurl)); $garr[ host ] = preg_replace("//( *)$/i" "" $gurl); $garr[ query ] = "/" preg_replace("/^([^/]*)//i" "" $gurl); return $garr; ?> cha138/Article/program/PHP/201311/21209

相关参考

知识大全 解析php多线程下载远程多个文件

functionremote($urls$name=$path=$dir=/images/)if(!is_array($urls)orcount($urls)==)returnfalse;dmkdir

知识大全 使用PHP采集远程图片

使用PHP采集远程图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当我们需要采集网络上的某个

知识大全 PHP 下载远程文件类(支持断点续传)

PHP下载远程文件类(支持断点续传)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP下载远

知识大全 破解防盗链图片的php函数

  现在很多网站和论坛的图片都在使用防盗链技术既然有防盗链那么肯定就有破解防盗链的方法啦下面小编就来为你提供一个破解防盗链图片的php函数不过只支持jpg和gif哦如果想支持多种图处格式大家可以做下修

知识大全 php对图像的各种处理函数代码小结

  一创建图片资源  imagecreatetruecolor(widthheight);imagecreatefromgif(图片名称);imagecreatefrompng(图片名称);image

知识大全 php图像处理函数大全

php图片处理代码分享包括缩放剪裁缩放翻转旋转透明锐化等需要的朋友可以参考下   一创建图片资源imagecreatetruecolor(widthheight);imagecreatefr

知识大全 php文章中图片处理的使用

  array_diff($arr$arr)  php数组函数之一用来计算数组的差集正则匹配图片标签用sinaeditor添加的图片删除操作用法之一今天晚上在用新浪编辑器发表文章的过程中使用到了此函数

知识大全 解析php通过cookies获取远程网页的指定代码

cha138/Article/program/PHP/201311/21255

知识大全 PHP通过访客来路获取搜索关键词的方法

PHP通过访客来路获取搜索关键词的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixi

知识大全 解析PHP函数array

解析PHP函数array  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们都知道PHP中的数组