php下通过伪造http头破解防盗链的代码

这篇文章主要用于图片,软件等突破防盗链的方法,希望需要的朋友有所帮助,但不推荐这样做,如果官方改版都是无法继续使用的。
伪造referer实例代码,主要用于一些突破防盗链,比如图片,软件等等 这里就直接给出完整的程序吧,具体的应用可以自己修改。 我这里给出的例子是很简单的,其实可以从这个例子中发展出很多的应用。比如隐藏真实的URL地址……嘿嘿,具体的就自己分析去吧  这里新建一个文件file.php。后面的参数就是需要伪造referfer的目标地址吧。如:file.php/http://www.xxx.xxx/xxx.mp3 
标签:  防盗链

代码片段(3)[全屏查看所有代码]

1. [代码]php代码     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
$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 ();
?>

2. [代码]这段程序只能针对使用referer来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,这个估计就不适用了      

?
1
2
3
4
5
6
7
8
9
$txt = $_GET [ 'url' ];
echo referfile( $txt , 'http://www.jb51.net/' );
 
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 );
}

3. [代码]php代码     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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 );
}
?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值