Codex залез в старый WordPress и нашел то, что антивирус не видел годами
Делали с Codex обычный плагин для WordPress. Нужно было закрыть вход через Google на старых сайтах.
После всей истории с иностранными e-mail стало понятно, что WordPress-сайты надо привести в чувство. Где-то WooCommerce, где-то личные кабинеты, где-то формы регистрации, где-то social login, который поставили сто лет назад и забыли.
План был простой: найти точки входа, закрыть Google Login, проверить регистрацию.
Но старый WordPress, как старый гараж. Пришел за отверткой, а нашел мышей, три роутера, коробку проводов и неизвестную банку без этикетки.
Сначала открыли админку.
Вроде все нормально. Плагины на месте. Лишнего не видно. Хостинговый антивирус молчит. Сайт открывается. Главная не продает казино, таблетки и курсы по заработку на нейросетях.
Почти красота.
Потом Codex полез глубже. Не в админку, а в файлы.
Открываем по FTP wp-content/plugins.
А там лежат папки, которых в админке нет.
Активные плагины. Не старые плагины, которые требуют обновления. Их просто не видно в списке WordPress.
Зато по FTP они прекрасно существуют. С PHP-файлами, странной структурой и кодом, который выглядит так, будто его писали ночью, в подвале, при свете роутера.
Антивирус на хостинге тоже ничего не нашел.
Получилась замечательная картина.
Админка спокойна.
Антивирус спит.
Сайт работает.
А в папке плагинов кто-то давно живет без прописки.
Сначала подумали, что это один старый сайт так отличился. Бывает. Но потом проверили следующий. Потом еще один.
И стало понятно, что это не случайная пыль под ковром. Это старое заражение, которое могло жить годами и не мешать сайтам делать вид, что они нормальные.
Самое неприятное тут даже не вирусы. Вирусы на WordPress давно никого не удивляют.
Неприятно другое.
Админка WordPress может показывать чистую картинку, а файловая система в этот момент хранит сюрпризы.
Проверять WordPress только через админку - это как покупать машину по фотографии руля. Вроде красиво. А что там под капотом, узнаешь потом.
Что теперь точно стоит проверять на старом WordPress:
wp-content/plugins
wp-content/themes
wp-content/uploads
wp-content/mu-plugins
корень сайта
старые папки old, backup, test, site_old
архивы .zip
PHP-файлы там, где должны быть картинки
левых администраторов
.htaccess
wp-config.php
xmlrpc.php
старые формы регистрации и social login
Codex в этой истории оказался не волшебной кнопкой, а нормальным техническим напарником.
Он помогал разбирать подозрительные файлы, сравнивать структуру папок, искать странные включения, отличать обычный старый плагин от непрошеного гостя и собирать порядок чистки.
Руками это тоже можно сделать. Только дольше, злее и с большим количеством слов, которые лучше не сохранять в историю коммитов.
В итоге мы сделали не только плагин против входа через Google.
Заодно собрали отдельный скилл для Codex по реанимации старых WordPress-сайтов.
Без магии и обещаний нажать одну кнопку и победить всех хакеров.
Просто рабочий сценарий:
куда смотреть
что сравнивать
какие папки проверять
какие файлы выглядят подозрительно
что сначала копировать
что можно удалять
где чаще всего прячется мусор
как не снести нормальный старый плагин вместе с чужой живностью
После этого дня правило стало простым.
Если старый WordPress давно не проверяли по FTP, он не чистый. Он просто еще не допрошенный.
Скилл для Codex по проверке и реанимации старых WordPress-сайтов можно будет забрать в моем Telegram-канале:
А мы пошли дальше чистить цифровой гараж. Потому что в старых WordPress, как оказалось, иногда лежат не только статьи, картинки и забытые плагины. Иногда там кто-то давно снял комнату и даже за хостинг не платит.