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数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
php抓取页面与代码解析 推荐
Jul 23 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP的几个常用数字判断函数代码
Apr 24 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
php实现的双色球算法示例
Jun 20 PHP
php使用yield对性能提升的测试实例分析
Sep 19 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网上调查系统
2006/10/09 PHP
php调用mysql存储过程
2007/02/14 PHP
php SQL防注入代码集合
2008/04/25 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
试用php中oci8扩展
2015/06/18 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
pycharm安装图文教程
2017/05/02 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
基于pandas中expand的作用详解
2019/12/17 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
explicit和implicit的含义
2012/11/15 面试题
机电专业大学生求职信
2013/10/04 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
创新比赛获奖感言
2014/02/13 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
还款承诺书范文
2014/05/20 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
详细总结Python常见的安全问题
2021/05/21 Python