Если файлы сайта изменились без понятной причины, игнорировать это нельзя. Это может быть обычное обновление CMS, работа подрядчика или автоматическая генерация кеша. Но иногда изменение файлов означает заражение, скрытый редирект, спам-страницы или подготовку к повторному взлому.

Коротко: нужно отделить нормальные изменения от подозрительных и понять, кто или что изменило файлы.

Когда это становится заметно

  • у файлов появились свежие даты изменения, хотя сайт не трогали
  • в корне сайта возникли незнакомые PHP, JS или HTML-файлы
  • в шаблонах появились странные строки, eval, base64 или внешние домены
  • часть страниц начала открываться иначе
  • хостинг прислал уведомление о подозрительной активности

Почему так происходит

Файлы могут меняться по разным причинам: обновления, кеш, загрузка изображений, работа модулей, автодеплой. Поэтому правильная диагностика не сводится к удалению всего свежего. Важно понять контекст и не сломать рабочий сайт.

  • обновление CMS, темы или плагина
  • автоматическая сборка статики или кеша
  • загрузка файлов через форму или медиабиблиотеку
  • компрометация FTP, SSH или админского аккаунта
  • вредоносный скрипт, который пересоздает файлы после удаления

Что я проверяю в первую очередь

  • список файлов с последней датой изменения
  • содержимое новых PHP, JS и htaccess-файлов
  • логи входа по FTP, SSH, панели и CMS
  • пользователей админки и недавние действия
  • сравнение с чистой копией или резервной версией

Как привожу сайт в порядок

Я проверяю изменения аккуратно: не удаляю файлы вслепую, а сначала определяю, какие из них относятся к системе, а какие требуют внимания.

  • строю карту измененных файлов по времени
  • проверяю подозрительные вставки и внешние подключения
  • сверяю файлы ядра CMS с нормальной версией
  • удаляю вредоносные файлы и закрываю источник изменений
  • настраиваю контроль, чтобы повторное изменение было видно быстрее

Что подготовить перед обращением

  • доступ к серверу или файловому менеджеру
  • пример файлов, которые изменились
  • дату, когда вы впервые заметили проблему
  • информацию о последних обновлениях или работах на сайте

Сроки и результат

На небольшом сайте первичная проверка занимает от 1 до 3 часов. Если изменений много и нужно сравнение с резервной копией, работу лучше делать этапами: диагностика, очистка, защита.

Вопрос-ответ

Можно ли просто откатить сайт из бэкапа?

Можно, но если не закрыть причину изменений, проблема может вернуться.

Все свежие файлы опасны?

Нет. Кеш, загрузки и обновления тоже меняют файлы. Поэтому нужна проверка по содержимому и логам.

Вы можете оставить рабочие изменения?

Да. Цель не откатить все подряд, а отделить полезные изменения от подозрительных.

Нужна похожая задача?

Напишите в Telegram @rabotator_support: пришлите адрес сайта, что именно видит пользователь и когда началась проблема. Я посмотрю ситуацию, объясню план работ и скажу срок до старта.