Почему редирект видят не все
Злоумышленнику выгодно, чтобы владелец сайта как можно дольше ничего не замечал. Поэтому вредоносный код срабатывает выборочно:
- только на мобильных устройствах — проверяется User-Agent браузера;
- только при переходе из поиска — проверяется Referer, прямые заходы не трогают;
- один раз на посетителя — ставится cookie, повторный заход ведёт на нормальный сайт;
- не для администраторов — если вы залогинены в админке, редиректа не будет;
- не для IP-адресов из определённых стран или наоборот только для них.
Из-за этого владелец может месяцами не знать о проблеме, пока не упадёт трафик или Яндекс не пометит сайт как опасный.
Как проверить сайт самостоятельно
- Откройте сайт с мобильного интернета (не через Wi-Fi офиса), в режиме инкогнито, перейдя по ссылке из поиска Яндекса.
- В Chrome на компьютере откройте инструменты разработчика (F12), включите эмуляцию мобильного устройства и зайдите на сайт из поиска.
- Запустите бесплатную экспресс-проверку — она сравнивает, куда сайт отправляет мобильного посетителя и посетителя с компьютера.
Где прячется редирект
1. Файл .htaccess
Самый частый вариант. В начало или в середину файла дописываются правила вроде:
RewriteCond %{HTTP_USER_AGENT} (android|iphone|mobile) [NC]
RewriteCond %{HTTP_REFERER} (yandex|google) [NC]
RewriteRule ^(.*)$ https://example-casino.top/?ref=8812 [R=302,L]
Проверьте не только корневой .htaccess, но и все вложенные — их бывает десятки.
2. JavaScript в шаблоне или базе
Скрипт подключается с внешнего домена или вставлен прямо в контент страниц, виджеты, настройки темы. Обычно он зашифрован через atob(), String.fromCharCode() или eval().
3. PHP-код в файлах CMS
Вставка в index.php, wp-config.php, functions.php темы или в один из файлов ядра, которая проверяет устройство посетителя и отдаёт заголовок Location.
4. Настройки сервера и DNS
Реже, но бывает: изменены правила nginx в панели хостинга или DNS-записи домена. Если в файлах сайта чисто, проверьте и это.
Как убрать редирект навсегда
- Сделайте резервную копию сайта и базы данных.
- Найдите и удалите все вредоносные правила и скрипты:
.htaccess, шаблон, база данных, файлы ядра. - Ищите бэкдор — файл или учётную запись, через которую код вернут обратно. Обычно это веб-шелл в папке загрузок или новый администратор.
- Обновите CMS, все плагины и модули, смените пароли от админки, хостинга и базы.
- Проверьте сайт ещё раз с мобильного и из поиска.
- Если сайт помечен в поиске, отправьте его на перепроверку.
.htaccess недостаточно — у злоумышленника остаётся доступ, и через день-два правило появится снова. Иногда его восстанавливает задание cron или скрипт, который проверяет файл каждые несколько минут.Как узнать о редиректе раньше клиентов
FYZI Shield каждый день открывает ваш сайт так, как его видит мобильный посетитель из поиска, и сравнивает с обычной версией. Если появляется перенаправление на чужой домен или новые правила в .htaccess, вы получаете сообщение в Telegram, а на тарифе «Бизнес» мы удаляем редирект сами.
Частые вопросы
Почему у меня редирект не повторяется?
Скорее всего, код срабатывает один раз для каждого посетителя и ставит cookie. Попробуйте открыть сайт в режиме инкогнито с другого устройства и через мобильный интернет.
Может ли это быть реклама в браузере пользователя?
Может, если редирект видит один человек. Если жалуются несколько клиентов с разных устройств или пометку поставил Яндекс — проблема на сайте.
Сколько стоит удаление редиректа?
Удаление редиректа с сайта — от 4 990 ₽. Это поиск и удаление всех вредоносных вставок, поиск бэкдора и закрытие уязвимости.