java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

php模拟reffer破解防止盗用图片

当我们需要调用其他网站图片的时候,其他网站的图片往往显示一个不显示,但是单独放在浏览器访问,却又可以。
php模拟reffer破解防止盗用图片

queryRow($sql);
$url = $row["url"];
//读出来的URL为http://www.sina.com.cn/aaad.html 一会充当reffer

$imgurl = $_GET["url"];

//提取图片domain
$domain = preg_replace("/^http:\/\/(.+?)\/.+?$/","$1",$imgurl);

//兼容原来的网站 比如/2.jpg
if($url==""){
    $url = $imgurl;
}

if(!preg_match("/^http:\/\/.*?$/", $imgurl)){
    $domain = $HOST;
    $imgurl = "http://".$HOST."/".$imgurl;
    $url = $imgurl;
}


//兼容原来的网站 END




//image.58.com/showphone.aspx?t=v55&v=0926DC20FE0C323BH29559C838D7CB65E

$fp = fsockopen("$domain", 80, $errno, $errstr, 30);    
if (!$fp) {    
    echo "ERR:$errstr ($errno)
\n"; } else { $out = "GET $imgurl HTTP/1.1\r\n"; //$out = "GET / HTTP/1.1\r\n"; $out .= "Accept:*/*\r\n"; $out .= "Host: $domain\r\n"; $out .= "Referer: $url\r\n"; $out .= "Connection: Close\r\n\r\n"; $str = ""; fwrite($fp, $out); while (!feof($fp)) { $str.=fgets($fp, 128); } $str = trimHeader($str); echo $str; fclose($fp); } function trimHeader($content){ $array=split("\r\n\r\n",$content); return $array[1]; } ?>

//自己网页输入图片内容的时候自动替换

$c = preg_replace("//is","",$c);


This entry was posted in PHP and tagged , , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/php-use-else-image/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply