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 相关文章推荐
用PHP实现图象锐化代码
Jun 14 PHP
PHP 表单提交给自己
Jul 24 PHP
PHP form 表单传参明细研究
Jul 17 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
PHP生成树的方法
Jul 28 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
php连接mysql数据库
Mar 21 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 PHP
解析laravel使用workerman用户交互、服务器交互
Apr 28 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初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python3模拟登录操作实例分析
2019/03/12 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
详解python statistics模块及函数用法
2019/10/27 Python
Python笔记之代理模式
2019/11/20 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
大学生毕业自我评价范文分享
2013/11/11 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
教师党员承诺书2015
2015/01/21 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
css3带你实现3D转换效果
2022/02/24 HTML / CSS