PHP伪造referer实例代码

这里就直接给出完整的程序吧,具体的应用可以自己修改。
我这里给出的例子是很简单的,其实可以从这个例子中发展出很多的应用。比如隐藏真实的URL地址……嘿嘿,具体的就自己分析去吧
这里新建一个文件file.php。后面的参数就是需要伪造referfer的目标地址吧。如:file.php/http://www.xxx.xxx/xxx.mp3


代码如下:

<?
$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//得出需要转换的网址。这里我就偷懒,不做安全检测了,需要的自己加上去
$downfile=str_replace(" ","%20",$url);//替换空格之类,可以根据实际情况进行替换
$downfile=str_replace("http://","",$downfile);//去掉http://
$urlarr=explode("/",$downfile);//以"/"分解出域名
$domain=$urlarr[0];//域名
$getfile=str_replace($urlarr[0],'',$downfile);//得出header中的GET部分
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//连接目标主机
if (!$content){//链接不上就提示错误
die("对不起,无法连接上 $domain 。");
}
fputs($content, "GET $getfile HTTP/1.0\r\n");
fputs($content, "Host: $domain\r\n");
fputs($content, "Referer: $domain\r\n");//伪造部分
fputs($content, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n");

while (!feof($content)) {
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ //这里要说明一下。header的第一行一般是请求文件的状态。具体请参照HTTP 1.1状态代码及其含义 hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html这里是正常的文件请求状态,只需直接转向就可以。其他状态的继续执行程序

header("Location:$url");
die();
}
}

//302 转向,大部分的防盗链系统都是先判断referfer,对了的话再转向真实的地址。下面就是获取真实的地址。
$arr=explode("\n",$tp);
$arr1=explode("Location: ",$tp);//分解出Location后面的真时地址
$arr2=explode("\n",$arr1[1]);
header('Content-Type:application/force-download');//强制下载
header("location:".$arr2[0]);//转向目标地址
die();
?>

这段程序只能针对使用referer来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,这个估计就不适用了

(0)

相关推荐

  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

    HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东. 以下是伪造方法: ASP: 复制代码 代码如下: dim http   set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以  Http.open "GET",url,false   Http.setRequestHeader "Referer","http://

  • 流量统计器如何鉴别C#:WebBrowser中伪造referer

    使用webbrowser伪造referer的方法:webBrowser1.Navigate(url, "_self", null, "Referer:http://www.xxx.com") 这段时间一直研究怎么才能在 webbrowser中设置referer来路来伪造来路进行刷流量,可是最后研究了半个月最终以失败告终,因为现在的统计代码,比较实际的就是cnzz.com和google adsense自带的统计,他们的统计都是通过js文件进行统计的,这样就形成了伪造来

  • VBS伪造HTTP-REFERER的实现方法

    在测试目录写了一个简单的referer.php,代码如下 复制代码 代码如下: <?php if (!isset($_SERVER["HTTP_REFERER"])) echo "No Referer"; else echo $_SERVER["HTTP_REFERER"]; ?> 如果直接点击上面的链接,那么页面会显示referer页面的链接. 复制代码 代码如下: Set http = CreateObject("msx

  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法

    HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东. 以下是伪造方法: ASP/Visual Basic代码 dim http      set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以     Http.open "GET",url,false      Http.setRequestHeader "Referer",&

  • 使用php伪造referer的方法 利用referer防止图片盗链

    什么是HTTP Referer简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理.比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站.Referer其实应该是英文单词Referrer,不过拼错的人太多了,所以编写标准的人也就将错就错了.我的问题我刚刚把feed阅读器改变为Grega

  • 用PHP伪造referer突破网盘禁止外连的代码

    比如我放纳米盘里的文件http://img.namipan.com/downfile/da333ee178bdad6531d1ec1540cf86277c116b6300887600/02.Paid%20In%20Full.mp3 这个地址不能直接下载也不能在网页播放器里播放,点击下载转到了一个下载页面.要想能够直接下载这个文件或播放这个文件,那就要伪造referfer,欺骗服务器,referfer是来自纳米盘的链接. 最开始使用的方法是用PHP内置的函数stream_context_creat

  • PHP伪造referer实例代码

    这里就直接给出完整的程序吧,具体的应用可以自己修改. 我这里给出的例子是很简单的,其实可以从这个例子中发展出很多的应用.比如隐藏真实的URL地址--嘿嘿,具体的就自己分析去吧 这里新建一个文件file.php.后面的参数就是需要伪造referfer的目标地址吧.如:file.php/http://www.xxx.xxx/xxx.mp3 复制代码 代码如下: <? $url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);/

  • PHP curl_setopt()函数实例代码与参数分析

    curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 为CURL调用设置一个选项 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,value是这个选项给定的值. 下列选项的值将被作为长整形使用(在option参数中指定): CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PH

  • Python 实现12306登录功能实例代码

    下面一段代码给大家带来了python实现12306登录功能,具体代码如下所示: #!/usr/bin/env python import requests import urllib.parse import random import time req = requests.session() import sys import re import urllib3 import getpass # 密文输入 urllib3.disable_warnings() # 登陆------------

  • php redis 处理websocket聊天记录的实例代码

    具体代码如下所示: <?phpini_set('display_errors', 'on'); class chatClass { private $redis; //这个变量模拟用户当前状态,是否登录,是否可查看 public $checkUserReadable = false; //构造函数链接redis数据库 public function __construct() { $this -> redis = new Redis(); $this -> redis -> con

  • php获取用户真实IP和防刷机制的实例代码

    一. 如何获取用户IP地址 public static function getClientIp() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } if (getenv('HTTP_X_REAL_IP')) { $ip = getenv('HTTP_X_REAL_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FO

  • python 爬取B站原视频的实例代码

    B站原视频爬取,我就不多说直接上代码.直接运行就好. B站是把视频和音频分开.要把2个合并起来使用.这个需要分析才能看出来.然后就是登陆这块是比较难的. import os import re import argparse import subprocess import prettytable from DecryptLogin import login '''B站类''' class Bilibili(): def __init__(self, username, password, **

随机推荐