Чистим сайт от вирусов
Думаем, не один раз вы уже столкнулись с проблемой, когда сайт заражается вредоносным кодом. Найти причину заражения сложно. Обычно это устаревшие плагины, темы, утечка паролей и прочее. Это отдельная тема и тут ее не раскрыть, если вообще можно ее раскрыть.А вот что касается поиска вирусов и лечения, то тут тоже не всё так просто. Существует много способов и эффективность их разная. В конечно итоге всё сводится к тому, что мы вручную перебираем файлы и удаляем из них вредоносный код. Вот это бы и хотелось упростить.
Ниже представлены инструменты для облегчения этой работы.
Найти и удалить вредоносный код во всех файлах на хостинге
Ищем и/или удаляем вредоносный код в файлах определенного расширения, обычно это php, html и js, но можно добавить и свои расширения в нем.Ссылка на скрипт
Тут всё просто.
-
Создаем файл treatment.php в корне сайта.
-
В $virus_text пишем код нашего вируса.
-
В $del пишем false, чтобы просто увидеть зараженные файл или true, чтобы удалить вредоносный код из файлов.
Отобразить все файлы с измененными датами
Очень часто файлы сайта имеют одну дату изменения, а файлы, которые затронул вирус другую. Вот можно вывести список всех файлов с отображением даты на одной странице и уже поиском по странице найти их. Для этого иcпользуем следующий скрипт.
Его просто закидываем в корень сайта и запускаем через браузер. Он создать 2 файла на хостинг с логами, которые потом удалите.
Удаление вредоносного кода из MySQL
В последнее время стало появляться много вирусов, которые записываются в БД. Особенно у Wordpress. Так ссылки на вредоносные скрипты вставляются прямо в записи.
Для их удаления придется воспользоваться PhpMyAdmin на хостинге. Где идем нужную базу, там выбираем SQL-запрос и уже запросмо удаляем то, что нужно.
Запрос выглядит следующим образом:
update wp_posts set post_content =
replace(post_content,'Текст который ищем','Чем заменить, например, пусто для удаления');
Можно кавычки с ' заменить на ", если искомый код содержит такие ' кавычки.
Удаление файлов по расширению
Например, вирус создал множество файлов в директории /UPOLAD/, где не может быть файлов php.Для этого создаем скрипт с кодом, задаем нужные параметры и запускаем:
<?php
$count = 0;
$files = glob($_SERVER['DOCUMENT_ROOT']."/upload/resize_cache/*/*.php", GLOB_BRACE);
foreach($files as $file)
{
unlink($file);
$count++;
}
echo "Уделно файлов - ".$count;
?>
Скрипт не рекурсивный поэтому надо понимать строку, где удаляются файлы:
/upload/resize_cache- где ищем
/*/ - директориии вида 345, 874 и так далее, автоматически созданные.
*.php - файлы с раширением.
Важно, этот скрипт может уделить все файлы с сайта при неправильном использовании. Будьте осторожны.
Удаление файлов по названию, например, удалить все .htaccess
<?/*
$dir = new RecursiveDirectoryIterator(getcwd());
$files = new RecursiveIteratorIterator($dir);
foreach($files as $file){
$name_of_file = $file->getFileName();
$path_of_file = $file->getPath()."/".$file->getFileName();
//need to concatenate "/" otherwise it shows all attached (path and file name)
if ($name_of_file == ".htaccess") {
//echo $path_of_file . "<br />";
unlink($path_of_file);
}
}
?>
Количество показов: 1679