php下通过伪造http头破解防盗链的代码


Posted in PHP onJuly 03, 2010

伪造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.0rn"); 
fputs($content, "Host: $domainrn"); 
fputs($content, "Referer: $domainrn");//伪造部分 
fputs($content, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnrn"); 
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来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,这个估计就不适用了

$txt=$_GET['url']; 
echo referfile($txt,'https://3water.com/'); function referfile($url,$refer='') { 
$opt=array('http'=>array('header'=>"Referer:$refer")); 
$context=stream_context_create($opt); 
Header("Location:".$url); 
return file_get_contents($url,false,$context); 
}

<?php 
$host = "pakey.net"; //你要访问的域名 
$target = "/test.asp"; //你要访问的页面地址 
$referer = "http//uuwar.com/"; //伪造来路页面 
$fp = fsockopen($host, 80, $errno, $errstr, 30); 
if(!$fp){ 
echo "$errstr($errno)<br />\n"; 
}else{ 
$out = " 
GET $target HTTP/1.1 
Host: $host 
Referer: $referer 
Connection: Close\r\n\r\n"; fwrite($fp, $out); 
while(!feof($fp)){ 
echo fgets($fp, 1024); 
} 
fclose($fp); 
} 
?>

个是我用在我的小说小偷中的代码,破解 了云轩阁的txt电子书防盗链。
PHP 相关文章推荐
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php广告加载类用法实例
Sep 23 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
php静态文件生成类实例分析
Jan 03 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 #PHP
php防盗链的常用方法小结
Jul 02 #PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 #PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 #PHP
php操作excel文件 基于phpexcel
Jul 02 #PHP
PHP 多维数组排序(usort,uasort)
Jun 30 #PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 #PHP
You might like
一个典型的PHP分页实例代码分享
2011/07/28 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
javascript克隆对象深度介绍
2012/11/20 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
JavaScript_ECMA5数组新特性详解
2016/06/12 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
深入理解node.js http模块
2018/01/24 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
Java编程面试题
2016/04/04 面试题
四个太阳教学反思
2014/02/01 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
人力资源作业细则
2014/03/03 职场文书
给孩子的新年寄语
2014/04/08 职场文书
公司户外活动总结
2014/07/04 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
迎新生标语大全
2014/10/06 职场文书
匿名检举信范文
2015/03/02 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Java Spring Lifecycle的使用
2022/05/06 Java/Android
python内置模块之上下文管理contextlib
2022/06/14 Python