Сайт перенаправляет на другой сайт с телефона: причины и как проверить
Звонит клиент: «Я зашёл на ваш сайт с телефона, а меня перекинуло на какую-то рекламу». Вы открываете сайт на компьютере: всё в порядке. Знакомая ситуация для тех, кого взломали: перенаправление срабатывает только при определённых условиях, и владельцу его не видно.
Условные редиректы: как они устроены
Взломщик понимает, что владелец проверит сайт с компьютера и напрямую. Поэтому редирект включается только если выполнено условие. Сравним самые частые.
| Условие | Что проверяет код | Почему вы не замечаете |
|---|---|---|
| Мобильное устройство | User-Agent содержит Android или iPhone | Вы заходите с ПК |
| Приход из поиска | Заголовок Referer содержит google или yandex | Вы заходите по закладке |
| Первый визит | Нет cookie, которую ставит скрипт | Вы уже были на сайте |
| Не администратор | Нет cookie авторизации в админке | Вы вошли в админку |
| Геолокация или язык | Страна посетителя или Accept-Language | Вы из другого региона |
| Время | Редирект раз в несколько часов | Вы смотрите в момент паузы |
Как проверить самому за пять минут
- Откройте сайт в режиме инкогнито с телефона через мобильный интернет, а не через домашний Wi-Fi.
- Перейдите на сайт из поиска: введите название компании в Яндексе или Google и откройте результат.
- Сравните разные устройства и браузеры. Редирект может срабатывать только в одном.
- Посмотрите код страницы: поищите meta refresh, window.location, document.referrer, setTimeout с адресами, а также неизвестные внешние скрипты.
- Проверьте автоматически. Проверьте свой сайт бесплатно: инструмент «Проверка сайта на взлом» сравнит страницу для человека и для роботов, найдёт скрытые ссылки и вредный код.
Где искать вставку
- Файл .htaccess или конфиг nginx. Правила RewriteCond с проверкой HTTP_USER_AGENT и HTTP_REFERER, перенаправляющие на чужой домен.
- Файлы шаблона. Начало header.php или functions.php, лишний подключаемый файл с «случайным» именем.
- Скрипты в базе. Сторонние блоки в настройках темы, виджеты «HTML-код», поля пользовательского JavaScript.
- Плагины. Незнакомые плагины, особенно с общими названиями вроде wp-cache-helper.
- Подключённые счётчики и чаты. Если сервис взломали или передали новому владельцу, редирект приходит через его скрипт.
Что делать
Сначала зафиксируйте картину: запишите видео экрана и сохраните адрес, на который уводит. Затем сделайте копию сайта, смените пароли и приступайте к очистке: убрать вставку, найти путь, которым она попала, обновить и закрыть уязвимость. Когда сайт чист, пройдите по тем же сценариям на телефоне, из поиска и в режиме инкогнито, чтобы убедиться, что редиректа нет.
Если вставка есть, а найти её не получается, обращайтесь к нам. Мы ищем точку входа и закрываем её, а не только удаляем следы.
Вопросы и ответы
Почему редирект бывает только на телефоне?
Код проверяет тип устройства по User-Agent. Взломщики знают, что владельцы чаще смотрят сайт с компьютера, поэтому мобильных посетителей уводят на рекламу и мошеннические страницы.
Это вирус на моём телефоне или на сайте?
Если редирект возникает на разных телефонах и в чужих устройствах, проблема в сайте. Если только на вашем, проверьте браузер и расширения. Решает сравнение на нескольких устройствах.
Чем опасен редирект для позиций сайта?
Поисковики считают скрытые перенаправления нарушением. Сайт могут пометить как опасный и понизить в выдаче.
Можно ли обойтись удалением плагина?
Если вставка пришла через плагин, удаление поможет, но нужно убедиться, что нет второй копии кода и бэкдора в других местах.
Как защититься на будущее?
Обновляйте движок и плагины, используйте уникальные пароли и двухфакторную защиту, ограничьте число администраторов и регулярно проверяйте сайт снаружи.
