
Удаление вредоносного кода с сайта: пошаговая инструкция
Чтобы удалить вредоносный код с сайта, изолируйте его, сделайте копию, найдите заражённые файлы, очистите их, закройте уязвимость и смените пароли.
Удаление вредоносного кода с сайта: с чего начать и как не потерять данные
Чтобы удалить вредоносный код, нужно временно изолировать сайт, сделать полную резервную копию, найти заражённые файлы и записи в базе данных, очистить их, закрыть уязвимость, через которую произошёл взлом, и сменить все пароли. После этого сайт отправляют на перепроверку в Яндекс Вебмастер и Google Search Console.
Вредоносный код — одна из самых неприятных проблем владельца сайта. Он незаметно перенаправляет посетителей на сторонние ресурсы, рассылает спам с вашего хостинга, подменяет контент и портит позиции в поиске. Поисковые системы, в первую очередь Яндекс и Google, помечают такие сайты предупреждениями, и трафик падает буквально за дни. Ниже — понятный порядок действий, который подойдёт и для WordPress, и для 1С-Битрикс, и для самописных сайтов.
Признаки того, что сайт заражён
Заражение редко выглядит как очевидный «взлом» с надписью на главной странице. Чаще всего вредоносный код работает скрытно и годами использует ресурсы сайта в чужих целях. Поэтому важно знать косвенные симптомы.
Самые частые из них: посетители жалуются, что их перекидывает на сайты с рекламой или казино; в выдаче Яндекса и Google появляются страницы с чужим текстом, которых вы не создавали; браузер показывает красное предупреждение при заходе на сайт; хостинг присылает письма о подозрительной активности, рассылке спама или резком росте нагрузки на процессор.
Отдельно обратите внимание на статистику. Если в Яндекс Метрике или Google Analytics внезапно вырос трафик из непонятных источников, увеличились отказы или, наоборот, просел органический трафик, — это повод немедленно проверить сайт. Не ждите, пока проблему заметят клиенты.
Яндекс Вебмастер
Раздел «Безопасность и нарушения» сообщает о найденных угрозах и вредоносном коде на страницах.
Google Search Console
Отчёт «Проблемы безопасности» показывает взлом, вредоносное ПО и подмену контента.
Яндекс Метрика и Google Analytics
Скачки трафика из незнакомых источников, рост отказов, падение органики и аномальные страницы входа.
Хостинг и браузер
Письма поддержки, блокировка аккаунта, рост нагрузки, красное предупреждение при открытии сайта.
Откуда берётся вредоносный код
Понимание причин помогает не только вылечить сайт, но и не допустить повторного заражения. В большинстве случаев вредоносный код попадает на сайт через несколько типовых «дверей».
Первая — устаревшая CMS и плагины. Хакерские боты автоматически сканируют интернет в поисках сайтов с известными уязвимостями, и чем дольше вы не обновляете движок, тем выше риск. Вторая — «взломанные» (нулленные) темы и плагины, в которые вирус встроен изначально. Третья — слабые пароли от админки, FTP, хостинга и базы данных, а также заражённый компьютер администратора, с которого утекли сохранённые пароли.
Ещё один частый сценарий — общий хостинг с плохой изоляцией аккаунтов: когда заражён соседний сайт, вирус может перекинуться и на ваш. Именно поэтому после очистки так важно проверить не только файлы, но и все точки доступа.
| Тип угрозы | Как проявляется | Где обычно прячется |
|---|---|---|
| Бэкдор (веб-шелл) | Злоумышленник получает скрытый доступ к файлам и командам на сервере | Папки загрузок, кэша, плагинов; файлы с «безобидными» именами |
| Редиректы | Посетителей, особенно с мобильных устройств и из поиска, перекидывает на чужие сайты | Файл .htaccess, index.php, шаблон header.php, JS-файлы |
| Спам-инъекции (SEO-спам) | На сайте появляются тысячи страниц с рекламой, а в тексте — скрытые ссылки | Файлы тем, таблицы базы данных, отдельные каталоги с шаблонами |
| Вредоносные скрипты в шаблоне | Всплывающая реклама, подмена форм, кража данных из полей ввода | Файлы footer.php, header.php, functions.php, подключаемые JS-библиотеки |
| Майнеры и рассылка спама | Высокая нагрузка на сервер, блокировка хостингом, попадание IP в чёрные списки | Cron-задачи, временные каталоги, скрытые скрипты в корне |
Подготовка: изолируйте сайт и сделайте копию
Прежде чем что-то удалять, остановите ущерб. Если сайт рассылает спам или перенаправляет посетителей, включите режим обслуживания или временно закройте его через .htaccess по IP, оставив доступ только себе. Это защитит пользователей и сохранит репутацию домена в Яндексе и Google.
Затем обязательно сделайте полную резервную копию — файлов и базы данных, даже заражённых. Это страховка: при неудачной очистке вы сможете вернуться к исходному состоянию и сравнить версии. Копию храните отдельно от сайта, например на локальном компьютере.
Также сразу смените пароли — от хостинга, FTP/SSH, панели управления, базы данных и админки CMS. Делать это нужно с чистого устройства, проверенного антивирусом, иначе новые пароли тоже окажутся скомпрометированными.
Пошаговая инструкция: как удалить вредоносный код с сайта
- 01
Изолируйте сайт: включите режим обслуживания или ограничьте доступ, чтобы вирус не распространялся на посетителей.
- 02
Сделайте полную копию файлов и базы данных и сохраните её отдельно — это страховка на случай ошибки при очистке.
- 03
Просканируйте файлы: используйте сканер вредоносного кода на хостинге, серверный антивирус или специализированные плагины безопасности для вашей CMS.
- 04
Сравните файлы с чистым дистрибутивом CMS и плагинов той же версии: всё лишнее и изменённое — кандидаты на удаление или замену.
- 05
Удалите вредоносные вставки из файлов и найдите бэкдоры: проверьте папки загрузок, кэша, скрытые файлы и файлы с недавней датой изменения.
- 06
Очистите базу данных: найдите подозрительные скрипты и iframe в записях, настройках, виджетах, а также незнакомых пользователей с правами администратора.
- 07
Обновите CMS, темы и плагины, удалите ненужные и «взломанные» расширения, смените все пароли и секретные ключи, проверьте cron-задачи.
- 08
Проверьте сайт повторно сканером и в браузере с разных устройств, затем отправьте запрос на перепроверку в Яндекс Вебмастере и Google Search Console.
Что именно искать в файлах и базе данных
Вредоносный код редко выглядит как явный вирус: хакеры маскируют его под служебные вставки и зашифровывают, чтобы сканеры и глаз не заметили подвоха. Чаще всего это длинные строки с непонятными символами, функции кодирования и выполнения строк как кода.
В PHP-файлах стоит насторожиться при виде eval, base64_decode, gzinflate, str_rot13, а также системных функций вроде system, shell_exec и passthru. В JavaScript и HTML подозрительны скрытые iframe, загрузка скриптов с незнакомых доменов и document.write с экранированными строками.
Отдельное внимание — .htaccess, где часто прописывают редиректы только для посетителей из поисковых систем (владелец заходит напрямую и ничего не замечает), и таблицы базы данных с настройками и постами. Здесь вирус любит прятаться в опциях темы, виджетах и содержимом записей.
eval(base64_decode(...))Выполнение зашифрованной строки как кода — классика заражённых PHP-файлов.gzinflate / str_rot13Дополнительное «упаковывание» кода, чтобы его не заметил сканер.<iframe width="0" height="0">Невидимый фрейм, который подгружает чужой сайт или рекламу.document.write(unescape(...))Скрытая вставка скрипта на страницу через JavaScript.shell_exec / system / passthruЗапуск команд на сервере — признак веб-шелла.Почему одной «чистки» недостаточно
Самая коварная особенность вредоносного кода — он редко живёт в одном месте. Злоумышленники оставляют несколько копий: основной вирус, резервный бэкдор в папке с картинками, задание в планировщике, которое через час восстановит удалённое. Если вы вычистили только то, что показал сканер, заражение вернётся.
Поэтому после удаления нужно проверить сайт ещё раз спустя сутки и через неделю, посмотреть логи доступа на предмет обращений к подозрительным файлам, а также пересмотреть права на папки и список пользователей в CMS. Только когда причина заражения найдена и устранена, можно считать работу завершённой.
Типичные ошибки при удалении вредоносного кода
Как делать не стоит
- Удалять заражённые файлы без резервной копии — можно потерять рабочий код
- Чистить только видимые файлы и не проверять базу данных и cron-задачи
- Оставлять старые пароли и ключи доступа после очистки
- Не обновлять CMS и плагины, через которые произошёл взлом
- Просить снять пометку об угрозе в поиске, пока сайт не очищен полностью
Как правильно
- 01
Сначала копия и изоляция, потом очистка
- 02
Проверять файлы, базу данных, планировщик и список пользователей
- 03
Менять все пароли с чистого устройства и перевыпускать секретные ключи
- 04
Обновить движок, удалить лишние плагины и закрыть найденную уязвимость
- 05
Отправлять запрос на перепроверку только после повторного сканирования
Как вернуть доверие поисковых систем
Когда сайт очищен, нужно сообщить об этом поисковикам. В Яндекс Вебмастере откройте раздел «Безопасность и нарушения» и запросите перепроверку после исправления проблем. В Google Search Console то же самое делается в отчёте «Проблемы безопасности» — там есть кнопка запроса на проверку.
Проверка обычно занимает от нескольких дней: роботы заново обходят страницы, и если угроз не находят, предупреждения снимаются. Если пометка вернулась — значит, вредоносный код остался или появился снова, и вам нужно искать пропущенный бэкдор. Параллельно проверьте, не попали ли ваш домен или IP в публичные чёрные списки, и при необходимости подайте заявки на исключение.
После снятия санкций полезно проследить за динамикой в Яндекс Метрике и Google Analytics: органический трафик обычно восстанавливается постепенно, а не мгновенно.
Изоляция и копия
Режим обслуживания, полная резервная копия, смена паролей.
Поиск и очистка
Сканирование, удаление вставок и бэкдоров, чистка базы данных.
Закрытие уязвимости
Обновление CMS и плагинов, повторная проверка сайта.
Перепроверка
Запрос в Яндекс Вебмастере и Google Search Console, контроль трафика.
Профилактика: как защитить сайт от повторного заражения
Лучшее лечение — отсутствие болезни. После очистки внедрите базовые правила безопасности, которые закроют большинство типовых сценариев взлома.
Регулярно обновляйте CMS, темы и плагины, а неиспользуемые расширения удаляйте полностью. Устанавливайте дополнения только из официальных источников. Используйте длинные уникальные пароли, двухфакторную аутентификацию там, где она доступна, и ограничивайте число попыток входа в админку.
Настройте автоматические резервные копии с хранением вне сервера, ограничьте права на запись в файлы и папки, закройте выполнение скриптов в каталогах загрузок. Подключите мониторинг: уведомления Яндекс Вебмастера и Google Search Console о проблемах безопасности, а также сканер изменений файлов, который сообщит о любой подозрительной правке.
Когда стоит доверить очистку специалисту
- 01
Вы не уверены, где ещё может скрываться бэкдор, а вирус возвращается снова и снова
- 02
Сайт приносит деньги, и простой или потеря данных обходятся дороже услуги
- 03
Хостинг заблокировал аккаунт или сайт попал под фильтры в Яндексе и Google
- 04
Заражена база данных или нестандартный самописный код, который сложно сравнить с оригиналом
- 05
Нужен аудит безопасности и настройка защиты, чтобы взлом не повторился
Итоги: как действовать при обнаружении вредоносного кода
- 01
Изолируйте сайт и сделайте резервную копию файлов и базы данных
- 02
Найдите и удалите вредоносные вставки, бэкдоры и подозрительных пользователей
- 03
Обновите CMS и плагины, смените все пароли и секретные ключи
- 04
Отправьте запрос на перепроверку в Яндекс Вебмастер и Google Search Console
- 05
Настройте регулярные бэкапы и мониторинг безопасности
Удаление вредоносного кода — это не разовая «чистка», а комплекс мер: от диагностики и очистки до устранения причины взлома и возврата доверия поисковых систем. Чем раньше вы заметите заражение и начнёте действовать, тем меньше потеряете трафика, клиентов и позиций в выдаче. Если сомневаетесь в результате, лучше проверить сайт повторно или обратиться к специалистам по безопасности.
Часто задаваемые вопросы
Признаки: редиректы на чужие сайты, незнакомые страницы в выдаче Яндекса и Google, предупреждения в браузере, всплески трафика из странных источников и письма от хостинга. Подтвердить заражение помогут отчёты в Яндекс Вебмастере («Безопасность и нарушения») и Google Search Console («Проблемы безопасности»).
Можно, если вы разбираетесь в файловой структуре CMS, умеете работать с FTP или SSH и базой данных. Главное — сначала сделать полную копию сайта и после очистки обязательно закрыть уязвимость, иначе заражение повторится. При сомнениях лучше привлечь специалиста.
Небольшой сайт на WordPress или 1С-Битрикс обычно очищают за несколько часов. Сложные случаи с заражённой базой данных, множеством бэкдоров и нестандартным кодом могут занять несколько дней. Отдельно стоит учитывать сроки перепроверки в Яндексе и Google.
Чаще всего остался бэкдор — скрытый файл, через который злоумышленник снова получает доступ, либо не закрыта исходная уязвимость (устаревший плагин, слабый пароль, взломанный FTP-аккаунт). Нужно искать причину, а не только последствия.
После полной очистки отправьте запрос на перепроверку: в Яндекс Вебмастере — в разделе «Безопасность и нарушения», в Google Search Console — в отчёте «Проблемы безопасности». Пометка обычно снимается после успешной проверки, на это уходит от нескольких дней.
Сайт заражён? Вылечим и защитим от повторного взлома
Проведём аудит безопасности, найдём все бэкдоры и вернём сайт в поисковую выдачу.
Спасибо за заявку!
Мы свяжемся с вами в ближайшее время.
Сотни вылеченных сайтов на разных CMS



