Вырезать код вируса со всех страниц WP

123
IS
На сайте с 16.08.2006
Offline
168
#11

Создаем файл check_files.php (подставив ваши данные).

И в крон делаем его запуск (например каждые 10 минут).

/usr/local/bin/php /home/вашсайт/public_html/check_files.php /dev/null

<?php

$filename = getcwd() .'/public_html/index.htm';
/* /usr/local/bin/php /home/вашсайт/public_html/check_files.php /dev/null Как поставить в крон */
$secure_code='INDEX_FILE_CHANGED'; //Это для моих спам фильтров

$fsize = filesize($filename);

if ($fsize > 0) {

//Отправить почту
$date_time=date("d.m.y / H:i:s");
$user =get_current_user(); //Get the name of the owner of the current PHP script

$subject = "USER: $user : ".$date_time." ";
$subject .= $secure_code;
$message = "Файл $filename имеет размер, отличный от 0, а именно = $fsize bytes." ;
$message .= "\n\n Проверка произведена в $date_time на сервере ".$user;

$succ = @mail($adminmail,$subject,$message,"From: Check_files <ваш@адрес>");
if ($succ) {
//echo 'Send OK'; //При отладке можно разкомментировать
}
else {
//echo 'Send Bad';
}

} else {
//echo 'OK '; // ничего не делаем,всё в порядке
}
?>

Можно и не нулевой файл index.htm (соответственно будет if ($fsize == ххх) ), главное, чтоб не изменялся.

w-builder
На сайте с 24.12.2005
Offline
153
#12

Если WP - это Wordpress, то почему просто не поправить footer.php

Ну а потом уже проверки, конечно.

Для массовой замены можно использовать условно-бесплатный (условия вы знаете, я думаю) Dreamweaver :)

Привычная кнопка "бабло" (http://www.sape.ru/r.8941d9c141.php) + кнопка "кладбище ГСов с парой хороших площадок" (http://gogetlinks.net/?inv=cj4bru) + Советы по увеличению дохода в РСЯ в 2 раза для партнеров бесплатно (http://profit-project.ru/1256759949)
IS
На сайте с 16.08.2006
Offline
168
#13
w-builder:
Если WP - это Wordpress, то почему просто не поправить footer.php

Ну а потом уже проверки, конечно.

Для массовой замены можно использовать условно-бесплатный (условия вы знаете, я думаю) Dreamweaver :)

Думаю, там не только footer.php изменен. У меня на PHPNuke и modules.php и index.php и все пустые index.htm, что в разных директориях распиханы, да и что-то еще было.

Unlock
На сайте с 01.08.2004
Offline
786
#14

Igor-san, спасибо за скрипт. Правда не хочет почту отправлять, Send Bad. Не могу понять почему, в логах чисто. Подскажите пожалуйста, где копать?

P.S. Задал $adminmail и письма пошли, правда скрипт все равно выдает Send Bad, хотя письма доходят. Да и как кодировку для письма задать? Сорри за ламерские вопросы :)

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
daykkin
На сайте с 10.04.2007
Offline
100
#15

Таже ерунда) Только у меня так и не отправляет, ибо не знаю как победить) Так что пока что смотрю на send bad)

Hakuna Matata! What a wonderful phrase. Hakuna Matata! Ain't no passing craze. It means no worries for the rest of your days, It's our problem-free, philosophy, Hakuna Matata! :)
IS
На сайте с 16.08.2006
Offline
168
#16

Странно. Некоторые замечания

1) Как правильно подметил Unlock, переменную $adminmail надо заменить свои мылом (или определить в начале скрипта).

2) При запуске скрипта для проверки из браузера http://www.xxxx.tld/check_files.php переменную $filename нужно писать в виде $filename = getcwd() .'/index.htm'; или просто $filename = 'index.htm'

(а $filename = getcwd() .'/public_html/index.htm'; необходим при запуске из крона)

3) попробуйте убрать @ перед mail() - это включит вывод ошибок, и если они появяться, по ним можно что-то судить.

Хотя если у Unlock письма доходят - то какие там ошибки?

daykkin
На сайте с 10.04.2007
Offline
100
#17

Заменил adminmail на мыло, почта пошла, ошибок нет - пишет send ok.. изменил filename для крона, включил крон, жду результата..

IS
На сайте с 16.08.2006
Offline
168
#18

По поводу кодировки,нужно дополнительно включить заголовки


$subject = "USER: $user : ".$date_time." ";
$subject .= $secure_code;
$message = "Файл $filename имеет размер, отличный от 0, а именно = $fsize bytes." ;
$message .= "\n\n Проверка произведена в $date_time на сервере ".$user;
//добавим строки
// To send HTML mail, the Content-type header must be set
$headers = 'Content-type: text/plain; charset=windows-1251' . "\r\n";
// Additional headers
$headers .= 'From: Check_files <lваш@адрес.ru>' . "\r\n";

$succ = mail($adminmail,$subject,$message,$headers);

Ну а с ошибкой при удачной отправке, возможно из-за различий версий PHP или safe mode - тут я не в курсе.

SL
На сайте с 31.01.2008
Offline
0
#19

Не о том говорите. Откуда он взялся?

Проверьте локальные копии файлов на вашем компьютере. Что за PHP-редактор? FTP-клиент? Антивирь?

Без прав на запись изменение файлов через сайт невозможно. Кто владелец и какие права у файлов на хостинге?

daykkin
На сайте с 10.04.2007
Offline
100
#20

Да пароль слили, либо у него, либо у хостера.. такое сплошь и рядом..

По поводу кроновского скрипта.. Отказываеться его крон запускать.. я уже какого рода команды не пробывал, и тех поддержку хостера задолбал.. ни хочит сволочь такая)

daykkin добавил 01.02.2008 в 09:08

Вообщем сутки я парился, крон к отправке маила привередлив, путем тестов было доказано что он ни хочет его отправлять, причем ни одним из разных методов (функций).. Зато у меня на руках реализованный скрипт, той же системы, но отправки сообщения Вам на ICQ.. если кому нужен - пишите..

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий