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中操作Excel实例代码
Apr 29 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
PHP中把stdClass Object转array的几个方法
May 08 PHP
PHP开发微信支付的代码分享
May 25 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
laravel model 两表联查示例
Oct 24 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
python二分法实现实例
2013/11/21 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
过滤器的用法
2013/10/08 面试题
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
教师节慰问信
2015/02/15 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
晚会开幕词范文
2016/03/04 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python