Филин Лаки
126,49
рейтинг
3 ноября 2015 в 13:13

Разработка → Как обнаружить и устранить скрытую переадресацию для мобильных устройств перевод

Привет, Хабр! Все мы любим, когда сайт отлично работает на любом устройстве, вне зависимости от размеров экрана, способов управления и взаимодействия. Нередко контент приходится незначительно адаптировать к устройству, на котором его просматривает пользователь: например, оптимизация для небольшого экрана смартфона предполагает изменение изображений и других элементов содержания. Чтобы мобильным посетителям было удобнее, разработчики нередко используют всплывающую панель навигации. Если такие модификации реализованы должным образом и их цель — повысить удобство, мы не рассматриваем их как нарушение правил Google.

То же самое относится к переадресации на сайты для мобильных устройств. Пользователям смартфонов будет удобнее работать не с обычной версией сайта, а с мобильной. Поэтому переадресация, например, с example.com/url1 на m.example.com/url1 оправдана. Однако скрытая переадресация мобильных пользователей на посторонние страницы мешает работе и нарушает рекомендации Google для веб-мастеров.


Пример нарушения: страница с результатами поиска на компьютере и мобильном устройстве телефоне показывает один и тот же URL. Нажав на эту ссылку, пользователь компьютера попадет на целевую страницу, а пользователь смартфона будет перенаправлен на другой URL.


Что, где, когда?


Сегодня существует множество способов создать сайт. От готовых движков, плагинов и тем, до комфортных IDE, которые не требуют практически никаких знаний в области вёрстки. У многих крупных или старых ресурсов давно (ещё во времена обычных телефонов с JAVA-браузерами) появилась мобильная версия, которая может сильно отличаться от «полноценной». Тем не менее, мы считаем, что содержание сайта и предоставляемая информация должны совпадать по сути на всех устройствах. Давайте рассмотрим основные проблемы переадресации мобильных пользователей.

Проблемная обработка мобильных устройств
Иногда веб-мастера сами настраивают переадресацию мобильных посетителей, как правило, с нарушением наших рекомендаций. Если это вредит пользователям, мы вручную принимаем меры для решения проблемы (подробнее об этом читайте в конце статьи). Однако нам также известны случаи, когда скрытая переадресация выполняется без ведома владельца сайта.

Умышленное перенаправление в рекламных целях
Скрипт или элемент, размещенные на сайте для показа рекламы или монетизации контента, могут перенаправлять мобильных пользователей на сайт другой тематики без ведома веб-мастера. Причём неважно, вы сами разместили «проблемный» скрипт или ваш сайт взломали: если не понимать исходный код подключаемых модулей, получить троянского коня проще простого.

Переадресация мобильных пользователей в результате взлома сайта
Если ваш сайт взломан, он может перенаправлять мобильных пользователей в домены, которые распространяют спам, незаконно собирают личные данные или воруют деньги с банковских карт. Что делать, если вы стали жертвой подобных переадресаций?



Общая программа действий проста, как раз-два-три: определить, изолировать, предотвратить. За дело!

Как обнаружить скрытую переадресацию для мобильных устройств?


Чтобы грамотно бороться с проблемой, её надо определить. О том, что кто-то «ворует» ваших мобильных пользователей вы можете и не догадываться, пока кто-нибудь не пожалутеся или вы сами случайно не наткнётесь на результаты работы вредоносных скриптов.

Сообщения от посетителей могут нести мало полезной информации и нагонять панику: «Я открыл ваш сайт, а он меня А-а-а-а-а-а, У-у-у-у-у-у, Ы-ы-ы-ы и предлагает тухлые фрукты по оптовым ценам». Ни проблемной страницы, ни информации об устройстве или браузере.

Итак, шаг первый: найти проблему. Советы могут выглядеть очевидными, но как показала практика, когда дело доходит до реальных проблем, многие пользователи и веб-мастера теряются и не знают, с чего начать. Начать следует с самого простого:

  • Откройте сайт на смартфоне и посмотрите, не попадете ли вы на другой ресурс
    Мы рекомендуем проверить свой сайт, перейдя на него из результатов поиска Google на смартфоне. При современном разнообразии на рынке мобильных устройств отладку удобнее проводить с использованием эмуляции мобильных устройств в компьютерных браузерах. Данную функцию поддерживают Chrome, Firefox и Safari. В последнем случае (Safari) потребуется открыть настройки браузера и установить флажок «Показывать меню „Разработка“ в строке меню».
  • Изучайте отзывы посетителей
    Пользователи могут видеть ваш сайт не так, как вы. У кого-то старый браузер, укого-то гора экстеншнов (они тоже могут подвергнутся атаке и начать подсовывать рекламу / переадресовывать пользователей). Всегда читайте отзывы посетителей и обращайте внимание на их жалобы, чтобы вовремя выявлять проблемы. Если требуется, задавайте уточняющие вопросы, попросите прислать скриншот или рассказать, как именно пользователь попал на проблемную страницу.
  • Отслеживайте действия посетителей и анализируйте статистику сайта
    Необычные действия мобильных пользователей можно обнаружить, изучая данные веб-аналитики. Стастистика — мощнейший инструмент, который позволяет выявлять проблемы там, где одиночные проверки и тесты ничего не показывают. Например, если среднее время, проведенное на сайте владельцами мобильных устройств (и только ими), резко сократилось — это может быть вызвано переадресацией.

    Чтобы сразу же узнавать о значительных изменениях в поведении мобильных пользователей, можно настроить специальные оповещения в Google Analytics.

    Попробуйте создать оповещение о резком снижении времени, проведенного мобильными посетителями на сайте, или уменьшении их количества. При этом следует помнить, что значительные изменения этих показателей не всегда являются непосредственным следствием скрытой переадресации, но снижение посещаемости всё равно стоит изучить. Вы же сайт не просто так делали?



На моем сайте обнаружена скрытая переадресация для мобильных пользователей. Что делать?


Допустим, вы нашли проблему? Что дальше? Как с ней бороться? Шаг второй: изолировать источник проблем. Источников переадресации может быть два — внешнее или внутреннее воздействие.

В первом случае кто-то получил доступ к вашему сайту (уязвимости для популярных движков регулярно находятся и не всегда оперативно закрываются). Во втором вы, сами того не желая, заложили «бомбу замедленного действия», вставив какой-нибудь скрипт, не проверив его содержимое. Опционально, движок сайта мог самостоятельно обновить элементы с какого-нибудь репозитория, который был взломан. В любом случае, для устранения подобных проблем алгоритм одинаковый.

  • Проверьте, не взломан ли сайт
    Откройте раздел Проблемы безопасности в Search Console: если мы обнаружили взлом, внутри вы найдёте соответствующее оповещение.
    Кроме того, стоит изучить дополнительную информацию о типичных признаках взломанных сайтов и примеры из нашей практики. Если вы используете какой-либо движок или фреймворк — посмотрите новости соответствующего сообщества, быть может с проблемой столкнулись не только вы.
  • Проверьте, нет ли на сайте посторонних скриптов и элементов
    Если ваш сайт не взломан, проверьте, нет ли на нем сторонних скриптов или элементов, выполняющих переадресацию. Для этого выполните следующие действия:
    1. Внимание! Прежде чем вносить какие-либо изменения в работающий сайт, создайте резервную копию сайта, проверьте её работоспособность.
    2. Найдите страницу, на которой осуществляется переадресация пользователей. Если на ней находятся чужие скрипты и элементы — смело удаляйте их по одному.
    3. После каждого удаления проверяйте с мобильного устройства или через эмулятор, происходит ли переадресация.
    4. После локализации элемента, отвечающего за скрытую переадресацию, удалите его со всех страниц. Если элемент критически важен и необходим для функционирования сайта — попросите его поставщика помочь вам с отладкой.



Защищаем сайт


Шаг третий: предотвратить повторение. Здесь всё просто. Вы нашли причину переадресации — скрипт, элемент, модуль, что угодно. Если вы знаете, откуда он взялся — возможно, стоит перестать пользоваться этим источником расширений. Если нет — проверьте список известных уязвимостей для вашего движка или фреймворка, набора библиотек. Возможно, разработчики успели выпустить срочные обновления.

Не стоит исключать и человеческий фактор. Если взлома не было и вы не размещали скрипты / библиотеки / элементы, а они появились — посмотрите на историю доступов к сайту, возможно, инициативные модераторы или администраторы контента могли умышленно или неумышленно занести заразу на сайт.

Проверьте разрешения на чтение / запись в определённые папки, если запись не требуется — поставьте атрибут read only, он помешает злоумышленникам и вредоносам, попавшим через узкую лазейку, прописаться в рабочих папках и повысить уровень привилегий.

Используйте Search Console


Если пользователь перенаправляется на другие страницы с целью показать контент, отличный от представленного в результатах поиска, это является нарушением рекомендаций Google для веб-мастеров. Подробнее о скрытой переадресации можно прочитать здесь.

Команда Google по оценке качества поиска может принять меры в отношении таких сайтов, например удалить URL из нашего индекса. Если подобное случится, вы, как владелец сайта увидите в Search Console соответствующие оповещения. Это лишь одна из причин, по которой мы рекомендуем вам зарегистрировать аккаунт в Search Console. Сам сервис крайне гибок и позволяет не только получать своевременные уведомления о проблемах, но и анализировать текущее состояние сайта, а также направлять в Google запросы на повторную проверку. Быстро, удобно, а главное — в одном месте.

One more thing


Выбирайте рекламодателей, которые не будут направлять ваших посетителей на неожиданные страницы. Если вы стремитесь к развитию доверительных отношений в отрасли — ознакомьтесь с рекомендациями по работе в рекламных сетях. Вы можете начать с изучения рекомендаций IAB по обеспечению качества площадок.

Существует много способов монетизации контента для мобильных устройств, обеспечивающих высокий уровень удобства для пользователей и не приводящих к удалению вашего сайта из поисковой выдачи. Используйте их.

Если у вас есть вопросы или комментарии по переадресации для мобильных устройств, оставляйте их здесь либо задавайте их на форуме для веб-мастеров или в нашем сообществе для веб-мастеров на Google+.
Автор: @HabrAndrey Винсент Курсон (Vincent Courson) и Бадр Салми эль-Идрисси (Badr Salmi El Idrissi), команда по оценке качества поиска
Google
рейтинг 126,49
Филин Лаки

Комментарии (13)

  • +2
    Очень полезная статья, особенно после недавной волны наказаний за вап-клик.
  • +2
    Наверное, не помешает пара примеров.
    По моему опыту, подобны зловреды чаще всего прописываются в .htaccess, в index.php в корне сайта и в .js-файлах. В .htaccess это выглядит как определение устройства по юзер-агенту и переадресация. В .php и .js — обфусцированный код в конце файла. Его легко заметить и убрать — огромные обфусцированные строки сразу вызывают подозрение.
    Еще важно посмотреть дату и время изменения зараженных файлов, чтобы по логам вычислить возможные пути проникновения в систему. Обязательно нужно менять доступы (фтп, админка, etc) после того, как чужой код был удален. Ну и бэкап, всегда должен быть рабочий бэкап.
  • +2
    Пользователям смартфонов будет удобнее работать не с обычной версией сайта, а с мобильной. Поэтому переадресация, например, с example.com/url1 на m.example.com/url1 оправдана.

    Спасибо вам, господа, что вы в очередной раз решили, что для меня удобнее. Но меня, например, автоматическая переадресация на мобильный сайт очень печалит. А сильнее всего печалит тот факт, что когда я все таки нахожу ссылку на полную версию, сайт не в состоянии поставить мне куку и запомнить мой выбор, и таки регулярно подсовывает мобильную версию. Ау, разработчики хабра, это так сложно? Еще можно галку в профиле сделать, типа такой: «Всегда показывать полную версию сайта».
    Хотя, к чести разработчиков хабра, следует отметить тот факт, что перейти на полную версию все-таки возможно. Некоторые возвели принцип: «тупой пользователь, мы лучше знаем, что тебе нужно», — в абсолют и не дают посмотреть полную версию сайта со смартфона в принципе :)
    • 0
      Вам спасибо! Однако, надо заметить, что тут речи совсем не идёт о том, что для Вас удобнее. Речь о том, что перенаправление с example.com/url1 на m.example.com/url1 – это не спам и в пределах разумного может применяться как оправданная техника. Если Вы дочитали статью до конца, то очень надеюсь, что всё-таки нашли для себя что-то полезное.
  • +2
    Поэтому переадресация, например, с example.com/url1 на m.example.com/url1 оправдана
    Ох как это иногда бесит! Особенно на сайтах, у которых нет (или есть, но не работает) кнопка «Полная версия». Не представляю, как справляются пользователи дефолтных мобильных браузеров, а мне иногда приходится руками менять user-agent, благо браузер позволяет.
    • 0
      Так в дефолтном браузере Android-а в настройках меняется User-Agent в три тапа.
  • –2
    Единственная проблема с переадресацией, которая мне попадалась за последнюю пару лет это переадресация из объявлений Google Adsense. Самое странное в этом, что сами Google даже не пытаются устранить эту проблему.
  • 0
    «мы не рассматриваем их как нарушение правил Google»

    Как бы невзначай, да. Впрочем, большинство вебмастеров уже догадывались, кто высший критерий истины во всех вопросах работоспособности сайта.
    • 0
      При чём тут «работоспособность сайта» и «критерий истины»? Речь идёт о типах поведения, которое мы рассматриваем или не рассматриваем как веб-спам.
      • +1
        Два уточняющих вопроса:

        1. Эти типы поведения явным образом описаны где-нибудь?
        2. Есть последствия для тех сайтов, на страницах которых обнаруживается веб-спам?
        • 0
          Конечно.
          1. support.google.com/webmasters/topic/6001971?hl=ru
          2. Последствия зависят от конкретного поведения. В случае злонамеренной скрытой переадресации обычно страница или сайт целиком удаляются из индекса.
          • 0
            Отлично.

            Заодно посоветуйте, как сообщать «куда следует» на явных нарушителей. Так, чтобы был ненулевой шанс, что Неоднократно, в поиске информации по достаточно экзотическим вопросам, натыкался на агрегаторы, дорвеи и т.п., которые подолгу остаются в итогах поиска Google.

            (как в следующий раз замечу такую прелесть — могу передать в качестве образца).
            • 0
              1) Явные нарушения можно отправлять сюда www.google.com/webmasters/tools/spamreport
              2) Если есть список сайтов (не гс из дебрей выдачи никому ненужных, а реально ранжирующихся сайтов) с вап-кликами и какими-то хитрыми кликандерами, можете в список оформить и на Форуме веб-мастеров Google https://productforums.google.com/forum/#!forum/webmaster-ru выложить в топик.
              3) Что касается маскировок с переадресациями, то есть слифа трафика на мобильные платники, то снять это безобразие гораздо легче, чем снять потом сами меры (как пример методики снятия санкций за вап-клик www.tehpodderzka.ru/2015/09/wap-click-ban.html)
              Самое частое (на мой взгляд) это не взломы, а фейковые партнёрки, которые прикидываются белыми (обычной баннерной рекламой). Не буду писать, кто это (придут и начнут быковать), хотя список в сети есть. Их рекламу можно встретить далеко не в тизерах, а в Директе и Эдвордзе, я много раз видел в интерфейсе почты (прикидываются маркетинговыми агентствами).
              Заподозрить неладное реально по завышенной цене клика (обещают золотые горы), супер-пупер поддержку (чуть ли не личный менеджер), рассылают письма с предложением о сотрудничестве. Так что если кто-то ноет о бане за редиректы, достаточно спросить что за партнёрка (если конечно это не взлом).
              А взлом проверяют так: избавляются от всех внешних js и щёлкают с друзьями на симках мегафона и т.д. в течение суток, после чего откатывается сайт в бекап. Безусловно стоит побывать на форуме, посвящённому своей cms и пообщаться с единомышленниками.
              В общем, будьте бдительны и не доверяйте свои сайты первым встречным рекламщикам.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка