Почему одной проверки «на глаз» недостаточно
Современный вредоносный код старается не попадаться владельцу сайта. Он может показываться только мобильным посетителям, только тем, кто пришёл из поиска, или только один раз на каждый IP-адрес. Часть заражений вообще ничего не меняет на видимой странице: веб-шелл просто лежит в папке загрузок и ждёт команды, а спам-страницы видят только поисковые роботы.
Поэтому проверять сайт нужно с двух сторон: снаружи — так, как его видят посетители и поисковики, и изнутри — файлы и базу данных на сервере.
Способ 1. Бесплатная экспресс-проверка FYZI Shield
Введите адрес сайта в форму проверки на главной. За 10–15 секунд сервис:
- сравнит, что видят посетитель с телефона и посетитель с компьютера — так находятся скрытые мобильные редиректы;
- проверит код главной страницы на спам-ссылки казино, фарма-спам, скрытые за краем экрана ссылки и обфусцированный JavaScript;
- проверит, не открыты ли в интернет служебные файлы:
.env,.git, резервные копии базы и конфигурации; - покажет срок действия SSL-сертификата, работу HTTPS и заголовки безопасности;
- определит CMS и подскажет, видна ли её версия злоумышленникам.
Способ 2. Яндекс.Вебмастер
Если сайт добавлен в Яндекс.Вебмастер, откройте «Диагностика» → «Безопасность и нарушения». Если антивирусный робот Яндекса нашёл заражение, там будет указан тип угрозы и примеры страниц. Также полезно посмотреть «Индексирование» → «Страницы в поиске»: внезапный рост числа страниц часто означает, что на сайте появились тысячи спам-страниц.
Подробнее о том, что делать с пометкой, — в статье «Сайт помечен как опасный в Яндексе».
Способ 3. Google Search Console и Safe Browsing
Проверить статус сайта в базе Google можно без регистрации на странице Google Transparency Report. В Search Console раздел «Проблемы безопасности» покажет, если Google нашёл вредоносный код, фишинг или взломанный контент. Если браузер показывает посетителям красный экран, читайте отдельную инструкцию.
Способ 4. Поиск по сайту в поисковике
Введите в Яндексе или Google запрос site:вашсайт.ru и пролистайте результаты. Тревожные признаки:
- страницы с названиями про казино, ставки, кредиты, лекарства, реплики часов;
- заголовки на японском, китайском, индонезийском или других языках, на которых у вас нет контента;
- адреса страниц, которых вы не создавали, — с длинными случайными именами.
Можно сузить поиск: site:вашсайт.ru казино или site:вашсайт.ru casino. Если что-то нашлось, это SEO-спам, и сайт взломан.
Способ 5. Антивирус хостинга
У многих хостеров в панели управления есть встроенный антивирус для файлов сайта: например, у Timeweb, Beget, REG.RU, а в ISPmanager и cPanel бывают модули ImunifyAV. Запустите проверку и посмотрите отчёт. Такие сканеры хорошо находят известные веб-шеллы и заражённые файлы, но почти не видят вредоносные вставки в базу данных.
Способ 6. Ручная проверка файлов по SSH
Если у вас есть SSH-доступ, несколько команд дадут быстрый срез. Найти PHP-файлы, изменённые за последнюю неделю:
find . -name "*.php" -mtime -7 -not -path "./wp-content/cache/*"
Найти PHP-файлы в папке загрузок, где их быть не должно:
find ./wp-content/uploads ./upload -name "*.php*" 2>/dev/null
Найти типичные конструкции вредоносного кода:
grep -rlE "eval\s*\(\s*(base64_decode|gzinflate|str_rot13)|assert\s*\(\s*\\\$_(POST|GET|REQUEST)" --include=*.php .
Для WordPress с установленным WP-CLI сверьте файлы ядра и плагинов с оригиналами:
wp core verify-checksums
wp plugin verify-checksums --all
base64_decode используют и легальные плагины. Разбор найденного кода — в статье «eval(base64_decode) в коде сайта».Что не найдёт ни одна онлайн-проверка
- вредоносные вставки в базе данных, которые не выводятся на главной;
- поддельных администраторов и скрытые учётные записи;
- веб-шеллы, которые лежат на сервере и ничего не выводят;
- задания cron, которые восстанавливают вирус после удаления.
Для этого нужен доступ к файлам и базе. FYZI Shield ставит на сайт лёгкий агент, который каждый день проверяет всё это и сообщает в Telegram о любых подозрительных изменениях.
Как часто проверять сайт
Боты, которые ищут уязвимые сайты, работают круглосуточно, а массовая эксплуатация новой уязвимости в популярном плагине начинается в течение нескольких дней после её публикации. Разовая проверка раз в полгода почти ничего не даёт — разумный минимум для коммерческого сайта ежедневное сканирование и мониторинг доступности.
Частые вопросы
Можно ли проверить чужой сайт на вирусы?
Снаружи — да: онлайн-проверка, статус в Google Safe Browsing и поиск site: доступны для любого сайта. Проверить файлы и базу данных может только владелец или тот, кому он дал доступ.
Онлайн-проверка показала, что всё чисто. Сайт точно не заражён?
Нет. Онлайн-проверка видит только то, что сайт показывает наружу. Веб-шеллы, бэкдоры и вставки в базу данных она не найдёт. Если есть подозрения, нужна проверка изнутри.
Сколько стоит полная проверка сайта?
Подписка FYZI Shield с ежедневным сканированием стоит от 490 ₽ в месяц. Разовая ручная проверка и чистка заражённого сайта — от 4 990 ₽.