Чужая реклама и переадресации на телефоне: как найти и убрать

Владелец открывает свой сайт на компьютере — всё в порядке. Открывает на телефоне — тоже нормально. А клиенты звонят и говорят: «зашёл к вам с телефона, а меня перекинуло на какую-то рекламу». Или: «у вас на сайте выскакивает окно, что мой телефон заражён». Проверить не получается, воспроизвести не удаётся, и ситуация кажется мистической.
Она не мистическая. Это довольно распространённый тип заражения сайта, специально устроенный так, чтобы владелец его не заметил. Разберём, как это работает, как проверить свой сайт, что делать при обнаружении и как не допустить повторения.
Почему на компьютере всё чисто
Ключ к пониманию — в том, что вредоносный код на сайте почти никогда не срабатывает для всех подряд. Он проверяет, кто именно открыл страницу, и решает, показывать ли себя.
Проверка типа устройства. Код срабатывает только для мобильных браузеров. С компьютера страница отдаётся чистой. Логика простая: на телефоне человек менее внимателен, меньше видит адресную строку и с большей вероятностью нажмёт на то, что выскочило.
Проверка источника перехода. Срабатывает только для тех, кто пришёл из поиска. Если вы зашли по прямому адресу или из закладки — ничего не происходит. А владелец сайта почти всегда заходит из закладки.
Проверка на повторный визит. Показывается только один раз в сутки одному посетителю. Вы проверили, ничего не увидели, а первый визит уже израсходован.
Проверка на вход в панель управления. Если в браузере есть признаки того, что вы администратор сайта, код молчит.
Проверка на роботов. Поисковым роботам страница отдаётся чистой, чтобы сайт дольше не попал под санкции.
Проверка географии и времени. Иногда добавляют ограничения по региону или по времени суток.
Из-за этого набора проверок владелец может месяцами не видеть проблемы, слыша при этом жалобы от клиентов. И, что хуже, может решить, что клиенты преувеличивают.
Как это выглядит для посетителя
Варианты бывают разные, перечислим основные.
Переадресация. Человек нажимает на ссылку в поиске, страница вашего сайта мелькает на мгновение — и открывается посторонний сайт. Обычно рекламный, иногда с сомнительным содержимым.
Всплывающая реклама. Поверх вашего сайта разворачивается полноэкранный баннер, который тяжело закрыть.
Ложное предупреждение. Сообщение вида «ваш телефон заражён» или «вы выиграли приз» с кнопкой, ведущей на установку чего-то.
Подписка на уведомления. Запрос на отправку уведомлений от постороннего сайта, после согласия человек начинает получать рекламу прямо на телефон.
Скрытые ссылки в тексте. Реже, но встречается: в текст страниц добавляются ссылки на посторонние сайты, невидимые для человека, но учитываемые поиском.
Во всех случаях результат для вас один: человек, которого вы привели на сайт и за которого, возможно, заплатили в рекламе, не доходит до содержимого и не обращается.
Чем это грозит
Помимо очевидной потери обращений, есть несколько последствий, о которых стоит знать.
Потеря доверия. Человек, которого перебросило на рекламу с вашего сайта, вряд ли вернётся. Часть людей ещё и расскажет знакомым.
Санкции поисковиков. Когда поисковая система обнаруживает вредоносный код, она может пометить сайт как опасный. В выдаче рядом с вашей ссылкой появится предупреждение, и переходов станет в разы меньше. Снятие такой пометки после лечения занимает время.
Предупреждение в браузере. Браузеры ведут собственные списки, и на сайт может встать красный экран с предупреждением. Это худший вариант — переходы падают почти до нуля.
Блокировка хостингом. Хостинг-провайдеры сканируют размещённые сайты и при обнаружении вредоносного кода могут приостановить работу сайта до устранения.
Расползание. Если на одном сервере лежат несколько ваших сайтов, заражение обычно распространяется на все.
Утечка доступов. Часто вместе с рекламным кодом устанавливается механизм постоянного доступа, и злоумышленники продолжают заходить на сервер, даже когда вы почистили видимую часть.
Как проверить свой сайт
Порядок действий, который позволяет воспроизвести проблему.
Проверка первая: зайти как настоящий клиент. Возьмите телефон, откройте браузер в режиме без сохранения истории, найдите свой сайт через поиск (не по прямому адресу!) и перейдите по ссылке из результатов поиска. Именно эта последовательность воспроизводит проблему чаще всего. Попробуйте с разных телефонов и с мобильного интернета, а не по домашней сети.
Проверка вторая: попросить нескольких человек. Дайте задание пяти знакомым: найти ваш сайт в поиске с телефона и сказать, что произошло. Разные устройства, разные операторы, разное время суток — так вероятность поймать выше.
Проверка третья: посмотреть, что говорит Яндекс.Вебмастер. Там есть раздел безопасности, где сообщается об обнаруженных нарушениях. Проверять его стоит регулярно, а не только когда что-то случилось.
Проверка четвёртая: посмотреть статистику в Яндекс.Метрике. Признаки заражения видны косвенно: резко выросла доля отказов именно с мобильных устройств; резко упало среднее время на сайте у мобильных посетителей; появились массовые переходы с вашего сайта на посторонние адреса. Сравните показатели по компьютерам и по телефонам — если разрыв большой и появился недавно, это сигнал.
Проверка пятая: посмотреть исходный код страницы. В браузере откройте просмотр исходного кода и поищите подозрительное: длинные строки нечитаемых символов, подключения скриптов с незнакомых адресов, вставки в самом начале или в самом конце документа. Даже без технических знаний посторонние адреса в списке подключаемых скриптов заметны.
Проверка шестая: обратиться в хостинг. Большинство хостингов имеют встроенный сканер. Попросите провести проверку и прислать отчёт.
Проверка седьмая: посмотреть даты изменения файлов. На сервере отсортируйте файлы по дате изменения. Файлы, изменённые в дату, когда вы ничего не делали, — прямые кандидаты на проверку.
Что делать при обнаружении
Порядок важен, потому что неправильная последовательность приводит к повторному заражению через несколько дней.
Шаг первый: смените все пароли. Панель управления сайтом, доступ к серверу, база данных, панель хостинга, учётная запись у регистратора домена, почта на домене. Именно все — потому что неизвестно, что именно скомпрометировано. Пароли делайте длинными и разными.
Шаг второй: проверьте список пользователей. В панели управления сайтом и на сервере. Удалите тех, кого не узнаёте. Часто злоумышленники создают дополнительного администратора, чтобы вернуться.
Шаг третий: сделайте копию заражённого состояния. Прежде чем чистить, сохраните текущее состояние отдельно. Оно понадобится, если что-то пойдёт не так или если нужно будет понять, как проникли.
Шаг четвёртый: восстановите из резервной копии. Если есть копия, сделанная заведомо до заражения, — это самый надёжный путь. Определить дату можно по датам изменения файлов и по статистике. Проблема в том, что заражение часто обнаруживают через недели, а копии хранятся не так долго.
Шаг пятый: если копии нет — чистите. Здесь без специалиста обычно не обойтись. Задача не только убрать видимый вредоносный код, но и найти механизмы повторного доступа, которые обычно оставляют в нескольких местах: в файлах системы управления, в шаблонах, в базе данных, в файлах настроек, в задачах по расписанию на сервере.
Шаг шестой: закройте способ проникновения. Иначе через неделю всё повторится. Основные пути: устаревшая версия системы управления или модулей с известной уязвимостью; простой или утёкший пароль; заражённый компьютер сотрудника, с которого вводился пароль; уязвимость в самописном коде; доступ через другой сайт на том же сервере.
Шаг седьмой: обновите систему управления и модули. Устаревшее программное обеспечение — самая частая причина.
Шаг восьмой: сообщите поисковикам. В Яндекс.Вебмастере после лечения можно запросить повторную проверку. Пометка снимается не мгновенно.
Шаг девятый: проверьте результат через несколько дней. Тем же способом — с телефона, из поиска, в режиме без сохранения истории. И повторите через неделю.
Как не допустить повторения
Профилактика проще и дешевле лечения.
Регулярно обновляйте систему управления и модули. Это главная мера. Большинство заражений происходит через известные уязвимости, для которых давно есть исправления.
Следите за сроком лицензии. Истёкшая лицензия системы управления означает, что обновления перестали приходить, и сайт постепенно становится уязвимым. Об этом обычно узнают в самый неподходящий момент.
Сильные и разные пароли. Один пароль на все сервисы — гарантия того, что утечка в одном месте откроет всё.
Ограничение прав. У каждого сотрудника и подрядчика — только необходимые права. Администраторов должно быть минимум.
Отзыв доступов при расставании. Регламент: подрядчик закончил — доступы удалены в тот же день.
Резервное копирование на отдельное хранилище. Копия, лежащая на том же сервере, при серьёзной проблеме бесполезна. Нужна выгрузка в другое место, и нужно хотя бы раз проверить, что она разворачивается.
Мониторинг доступности и целостности. Существуют сервисы, которые регулярно проверяют сайт и сообщают об изменениях. Это позволяет узнать о проблеме за часы, а не за месяцы.
Регулярная самопроверка. Раз в месяц кто-то в компании заходит на сайт с телефона через поиск в режиме без сохранения истории. Две минуты работы.
Проверка Вебмастера. Раз в неделю заглядывать в раздел безопасности.
Продвижение 3 в 1: почему это спасает и здесь
В историях с заражением особенно наглядно видно, зачем нужны три канала обращений вместо одного.
Пока сайт заражён и теряет посетителей из поиска, карточки в Яндекс Бизнесе и в 2ГИС продолжают работать: человек находит компанию на картах, видит телефон и звонит напрямую, минуя сайт. Для многих компаний именно это удерживает поток обращений на время лечения.
Но здесь же кроется и ловушка. Работающие карты маскируют проблему: телефон звонит, обращения идут, и владелец не замечает, что поисковый канал просел. Поэтому обязателен раздельный учёт: в Яндекс.Метрике должны быть настроены цели на все формы и на нажатие номера, а обращения с карт нужно считать отдельно. Тогда провал именно по поисковому каналу виден сразу, а не через два месяца.
И ещё: не оценивайте состояние дел по тому, на каком месте показывается сайт. Выдача персонализирована, у разных людей она разная, и никакой полезной информации это не даёт. Ориентир — количество и источники обращений.
Как вообще проникают на сайт
Понимание путей проникновения помогает закрыть их заранее.
Устаревшая система управления или модуль. Абсолютный лидер. В любой популярной системе периодически находят уязвимости, разработчики выпускают исправления, а сайты, которые не обновляются, остаются открытыми. Автоматические программы просто перебирают сайты в интернете и проверяют наличие известных дыр.
Слабый или утёкший пароль. Пароль из восьми символов подбирается перебором, а пароль, который вы использовали ещё где-то, мог утечь при взломе того сервиса.
Заражённый компьютер сотрудника. Программа на компьютере ворует сохранённые пароли из браузера или из программы для работы с сервером. Пароль от сайта уходит вместе с остальными.
Соседний сайт на том же аккаунте хостинга. Если у вас несколько сайтов на одном аккаунте и один из них старый и заброшенный, через него попадают ко всем остальным.
Уязвимость в самописном коде. Форма или модуль, написанные без учёта безопасности, позволяют выполнить постороннюю команду.
Оставленные доступы. Учётная запись подрядчика, с которым расстались три года назад, всё ещё активна.
Файлы, загруженные через форму. Если форма принимает любые файлы и складывает их в общедоступную папку, через неё можно загрузить исполняемый код.
Практический вывод: заброшенный сайт заражается почти неизбежно. Регулярное обновление и минимальная гигиена доступов закрывают подавляющее большинство путей.
Короткая памятка
Раз в месяц: зайти на свой сайт с телефона через поиск в режиме без сохранения истории. Раз в неделю: заглянуть в раздел безопасности Яндекс.Вебмастера. Постоянно: обновлять систему управления и модули, следить за сроком лицензии, держать резервные копии на отдельном хранилище, минимизировать число администраторов.
При жалобе клиента «меня перекинуло на рекламу» — не отмахиваться, а проверять сразу. Клиент, который об этом сообщил, сделал вам большое одолжение: остальные просто ушли.
Если вы столкнулись с подобной ситуацией или хотите заранее убедиться, что с вашим сайтом всё в порядке, специалисты компании «Сайты Профессионально» проведут бесплатную проверку: посмотрят сайт с разных устройств и способов перехода, проверят целостность файлов и настройки безопасности и подскажут, что нужно поправить, чтобы не терять обращения на технических проблемах.
Хотите получить бесплатную диагностику сайта?
Получите бесплатную экспресс-диагностику за 24 часа. Проверим ошибки, сбои, скорость, безопасность и скрытые ошибки — пришлём отчёт с рекомендациями.
- Скорость загрузки и мобильная версия
- Уязвимости, вирусы, взломы
- Битые ссылки, дубли, SEO-ошибки
- Статус домена, SSL, хостинга
Популярные решения наших клиентов:

До 10 часов работ в мес.
Ежедневная диагностика
Продление домена
Продление хостинга/сервера

До 40 часов работ в мес.

До 100 часов работ в мес.
