最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php模拟reffer破解防止盗用图片
时间:2016-10-16 编辑:简简单单 来源:一聚教程网
当我们需要调用其他网站图片的时候,其他网站的图片往往显示一个不显示,但是单独放在浏览器访问,却又可以。
php
模拟reffer破解防止盗用图片
error_reporting(0);
$HOST = "java-er.com";
require 'class/db.php';
header("Content-type: image/png");
$id = $_GET["id"];
$sql = "select * from blog where id=$id";
$row = $db->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);
如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
首发地址:月小升博客 –
-
上一个: PHP 中使用 Redis数据库的例子
相关文章
- PHP实现图片批量打包下载功能 05-15
- PHP图片裁剪与缩放示例(无损裁剪图片) 03-23
- php 动态输出图片 http header 304 状态 02-25
- PHP如何判断一个gif图片是否为动态图片(动画) 10-14
- PHP实现图片裁剪与缩放的几种方法 03-23
- php 给图片加灰色透明效果 11-04