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 03 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php获取参数的几种方法总结
Feb 18 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
ucenter通信原理分析
Jan 09 PHP
PHP中返回引用类型的方法
Apr 03 PHP
yii分页组件用法实例分析
Dec 28 PHP
PHP实现git部署的方法教程
Dec 19 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
php生成HTML文件的类方法
Oct 11 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 实例化类的一点摘记
2008/03/23 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
人工神经网络算法知识点总结
2019/06/11 Python
python如何写出表白程序
2020/06/01 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
优秀社区干部事迹材料
2014/02/03 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
个人政治思想总结
2015/03/05 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
离职信范文
2015/06/23 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫