php模拟reffer破解防止盗用图片
发布:smiling 来源: PHP粉丝网 添加日期:2018-05-31 10:23:41 浏览: 评论:0
当我们需要调用其他网站图片的时候,其他网站的图片往往显示一个不显示,但是单独放在浏览器访问,却又可以。
php模拟reffer破解防止盗用图片:
- <?php
- error_reporting(0);
- $HOST = "java-er.com";
- require 'class/db.php';
- header("Content-type: image/png");
- //phpfensi.com
- $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)<br />\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("/<img src=\"(.+?)\".*?>/is","<img src=\"/showimg_article.php?id=$id&url=$1\" />",$c);
Tags: php模拟 reffer 防止盗链
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)