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学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
php 错误处理经验分享
Oct 11 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
使用php计算排列组合的方法
Nov 13 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
php中通用的excel导出方法实例
Dec 30 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP 验证登陆类分享
2015/03/13 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
php 猴子摘桃的算法
2017/06/20 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
用JS实现选项卡
2020/03/23 Javascript
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
详解python中的线程
2018/02/10 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
python中K-means算法基础知识点
2021/01/25 Python
.NET是怎么支持多种语言的
2015/02/24 面试题
园林设计专业毕业生求职信
2014/03/23 职场文书
我的理想演讲稿
2014/04/30 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
避暑山庄导游词
2015/02/04 职场文书
简历中自我评价范文
2015/03/11 职场文书
水电施工员岗位职责
2015/04/11 职场文书
python tkinter实现定时关机
2021/04/21 Python
新手必备Python开发环境搭建教程
2021/05/28 Python
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
服务器间如何实现文件共享
2022/05/20 Servers