代码很简单,这里就不多废话了,本代码来至一位网友的投稿,经测试可用
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
<?php error_reporting (E_ALL & ~E_NOTICE); ignore_user_abort(); set_time_limit(0); if ( $_GET [ 'act' ] == 'op' ) { $data_url = $_GET [ 'url' ] . '/' ; $hz = $_GET [ 'type' ]; list( $fw1 , $fw2 ) = explode ( '-' , $_GET [ 'fw' ]); $zs404 = strlen (file_get_contents_curl( $data_url . "momaka" )) + 200; //404页面字数 $file_name = $_SERVER [ "REMOTE_ADDR" ] . '_' . mt_rand(1000, 9999999) . '.txt' ; //写入的文件名 setcookie( "file_name" , $file_name , time() + 3600 * 24 * 7); //写入cookie 方便识别 for ( $i = $fw1 ; $i <= $fw2 ; $i ++) { $name = $data_url . $i . $hz ; //curl读取页面 $data = file_get_contents_curl( $name ); //判断页面是否有用 if ( strlen ( $data ) > $zs404 ) { $log = $name . ' *yes' ; } else { $log = $name . ' no' ; } if ( $_GET [ 'ys' ]) { sleep( $_GET [ 'ys' ]); //遇到防火墙使用延迟扫目录 } } } if ( $_GET [ 'act' ] == 'list' ) { $filename = $_COOKIE [ "file_name" ]; //要下载的文件名 header( "Content-Type:application/force-download" ); header( "Content-Disposition:attachment;filename=" . $filename ); readfile( $filename ); } if ( $_GET [ 'file_name' ]) { $data = file_get_contents ( $_COOKIE [ "file_name" ]); } /* CURL 配置函数 */ function file_get_contents_curl( $url ) { $ch = curl_init(); curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在 curl_setopt( $ch , CURLOPT_URL, $url ); curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT, 10); $dxycontent = curl_exec( $ch ); return $dxycontent ; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html ns= "http://www.w3.org/1999/xhtml" > <head> <http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <http-equiv= "X-UA-Compatible" content= "IE=EmulateIE7" /> <title>网站目录文件图片扫描工具</title> <script src= "jquery-1.8.3.min.js" ></script> </head> <style> body{ margin: 0; padding: 0; background-color: #F9F9F9;} .list{margin: 0 auto; width: 500px; padding: 30px 0; background-color: #FFF; margin-top: 50px; border-radius: 8px; border: 1px solid #ECECEC;} .list h1{ text-align: center; font-size: 1.8em; margin: 30px 0;color: #686B82;} .list input{width: 250px; height: 28px; border-radius: 5px; border: 1px solid #CACACA; margin: 0 0 20px 20px; display: inline-block; padding: 2px 8px;} input:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);} #sm{width: 270px; height: 32px; font-size: 16px; background-color: #0DD88D; color: #FFF; border: 0;margin-left: 140px;cursor:pointer;} .list span{float: left; display: inline-block; width: 120px; text-align: right; line-height: 30px;} .list a{ text-align: center; display: block; color: #808080; text-decoration: none;} </style> <body> <?php if ( $data ) {?> <p style= "text-align:center;" > 每隔15秒更新一次数据 查找连接后面为 *yes 即可用页面 </p> <?php echo $data ; ?> <script> function moma(){ history.go(0);}setInterval( "moma()" ,15000);</script> <?php } else { ?> <div class = "list" > <h1>网站目录文件扫描工具</h1> <span>链接:</span><input type= "text" id= "url" placeholder= "如https://www.baidu.com" value= "" > <span>后缀:</span><input type= "text" id= "type" placeholder= "如 .html ,目录模式则放空" value= "" > <span>范围:</span><input type= "text" id= "fw" placeholder= "如1-99999或a-zzzzz" value= "" > <span>延迟:</span><input type= "text" id= "ys" placeholder= "遇防火墙请填写轮询时间,如2" value= "" > <input type= "submit" id= "sm" value= "扫描" > <a href= "index.php?file_name=1" target= "_blank" >查看扫描结果</a></br> <a href= "index.php?act=list" target= "_blank" >下载扫描结果</a></br> </div> <?php } ?> <div id= "data" > </div> <script> $( "#sm" ).click( function (){ $(this).disabled=true; if (confirm( '之前有一个任务可能正在进行,选择确定则新建任务扫描,选择取消则查看任务' )){ $.get( "index.php?act=op" , { url : $( "#url" ).val(), type : $( "#type" ).val(), fw : $( "#fw" ).val(), ys : $( "#ys" ).val() }, function (req) { alert( "扫描结束!" ); }); } else { window.open( "index.php?file_name=1" ); } }) </script> </body> </html> |
有相同需求的小伙伴可以参考下