php下通过伪造http头破解防盗链的代码
来源:互联网 发布:ubuntu删除maraidb 编辑:程序博客网 时间:2024/06/16 14:36
代码片段(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 0
- php下通过伪造http头破解防盗链的代码
- php伪造http头破解防盗链代码
- php伪造http头实现破解防盗链
- 破解图片防盗链的代码(asp/php)测试通过
- php破解防盗链图片
- 伪造HTTP头VB
- PHP 图片防盗链的一段代码
- 通过Referer请求头实现防盗链
- php curl破解图片防盗链
- 强大的PHP伪造IP头、Cookies、Reference……
- 通过jquery读cookie添加xsrf HTTP头来避免请求伪造
- 有效的破解图片防盗链
- 破解网站防盗链的方法
- 破解百度图片的防盗链
- Referer伪造,防盗链与反盗链相关
- php防盗链的方法
- 轻松破解防盗链
- 破解图片防盗链
- 卷积实现
- 解析短信发送和接收流程
- 阿里面试Java的感悟
- 分区以及空间的一些基本命令
- C# 获取当前路径7种方法
- php下通过伪造http头破解防盗链的代码
- 欢迎使用CSDN-markdown编辑器
- Android 检查当前网络常用例子
- 常用集合用法及区别
- 对栈的操作和算法实现
- 怎样在一张图片上叠加另一张图片
- 在Dockerhub上下载,上传并标注自己的image
- NSDataDetector是NSRegularExpression的子类NSDataDetector和NSTextCheckingResult的使用
- hibernate入门实例(一)