Хитрый способ слива мобильного трафика

    Вебмастера — владельцы сайтов с мало-мальски приличной посещаемостью наверняка неоднократно получали сообщения наподобие этого:
    Здравствуйте!
    
    Предлагаем дополнительно заработать на вашем сайте *****.ru.
    По статистике от 5% до 20% посещаемости любого сайта составляет мобильный трафик. 
    Эти посетители вам бесполезны. Установите наш код и зарабатывайте на каждом мобильном посетителе!
    Выкупаем 100% вашего WAP трафика. Средняя цена по системе 25$ за 1000 мобильных хостов.
    ...
    P.S. Вы ничем не рискуете. Для поисковиков наш код не заметен. Просто будете получать дополнительный доход!
    


    Обычно суть такого предложения сводится к добавлению буквально нескольких строчек в .htaccess сайта, благодаря которым весь мобильный трафик редиректится на некий партнёрский сайт.

    Получал такое предложение и я, тоже неоднократно. Поначалу отвечал вежливым отказом, а затем и просто стал оставлять без ответа.

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

    Но я в первый момент подвоха не заподозрил и JS-код на сайте решил разместить. Ну, разместил и забыл об этом. А спустя некоторое время получил сообщение от одного из пользователей сайта, что у него перестал открываться сайт с мобильного телефона. В ходе переписки с ним выяснилось, что вместо сайта открывалась некая заглушка, предлагающая обновить версию Flash. Сначала я решил, что Flash действительно требуется для отображения какого-нибудь баннера, но решил уточнить, с какого аппарата пользователь пытается зайти на сайт. И выяснилось, что это даже не смартфон, то есть ни о каком Flash и речи быть не могло.

    Уже в тот момент у меня стали зарождаться смутные сомнения. И я, вооружившись плагином User Agent Switcher для FireFox, выставив в его настройках «iPhone 3.0» захожу на свой сайт и обнаруживаю редирект на ту самую заглушку, предлагающую обновить версию Flash-плеера. Далее уже путём научного тыка, то есть попеременным отключением рекламных блоков на сайте, удалось выяснить, какой из кодов вызывал такое поведение.

    Чисто с технической точки зрения всё было сделано очень примитивно. Для «обычных» браузеров отдавалась симпатичная картинка со ссылкой на вполне приличный партнёрский сайт, а для всех мобильных браузеров в конце добавлялся вот такой нехитрый JavaScript-код:
    setTimeout(function(){window.location='http://*****.net/?a=t2d4w294z215y2w4u2w423m254l2u266r2z274w2e423d413e4y2'},1000);
    

    Вебмастера, будьте бдительны и учитесь на чужих ошибках! Если у кого-то после прочтения статьи возникли подозрения, рекомендую воспользоваться упомянутым выше плагином и проверить работу ваших сайтов с выставленным в нём мобильным User-agent.
    Метки:
    Поделиться публикацией
    Комментарии 65
    • +93
      Странно, что вы готовы чужой js код от кого попало ставить на свой сайт.
      • +18
        Поддерживаю это замечание. Хороший вебмастер даже jQuery берёт не из чужого CDN, а с собственного сайта — а тут эвона что…
        • +1
          Вы имеете виду, что если я беру jQuery с Гугла или Яндекса, злоумышленник может подменить dns (или что-то вроде того) и направить запросы на свой сервер, а там уже подменять код?
          • +6
            Яндекс может банально упасть и ваш сайт перестанет работать.
            • +22
              <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.1.min.js"><\/script>')</script>
              
              • +6
                правда немножко подтормаживает, но если гугл упадет, то вообще многое будет подтормаживать.
                • +2
                  3 лишних минуты на страницу, это немного?

                  Вот что мне выдавал ФФ на некоторых сайтах, когда у нас неаккуратно порезали вконтактик на работе.
                  GET vkontakte.ru/js/api/share.js?10 [HTTP/1.0 504 Gateway Time-out 180297мс]
                • +6
                  Спасибо за код без пояснений, в вас сразу видно профессионала.

                  Для тех кому интересно, этот код пытается скачать код с гугла, а если не удается, то грузит со своего сайта.

                  У меня для вас печальная новость, код не асинхронный и дойдя до процесса загрузки скрипта с гугла браузер будет некоторое время втыкать, у ФФ это время 120 секунд. Только через 2 минуты сработает таймаут, код пойдет дальше и загрузит jquery с собственного сервера.
                  • +1
                    jquery нет смысла грузить асинхронно, иначе другие скрипты у вас будут падать на первой же строке

                    $(function() { ... });

                    вообще говоря, мало что есть смысл грузить асинхронно таким образом, т.к. атрибут async сейчас понимают только самые свежие хромы и фаерфоксы. нужно грузить через defer (setTimeout(..., 0)), а про это на хабре уже рассказывалось десятки раз
                    • +2
                      Про загрузку jquery асинхронно сказали вы, я только указал на причину, почему предыдущий код практически бесполезен. В случае падения чужого cdn страница будет открываться на 3 минуты дольше. Разница только в том, что в чистом случае jquery не будет вовсе.

                      Мой подход: все критически важное на своем сервере, все остальное асинхронно.
                      • 0
                        Мы с вами разные вещи подразумеваем. Вы — высоконагруженный проект с критически важной производительностью, я — обычный сферический сайт в вакууме, где и сервак может быть не самый сильный и канал не самый толстый. Вот тут то простое решение из boilerplate себя оправдывает.
                  • 0
                    А смысл?
                    Ваш способ работает только если у вас уже лежит jquery — какой смысл тогда тянуть с внешки?
                    • +1
                      Если вкратце, то: 1. меньше запросов к серверу, 2. у большинства юзеров он уже закеширован.
                      • +1
                        По статистике, у многию юзеров, несмотря на многомегабайтные дисковые кеши, кеш постоянно переполняется и потому бесполезен. Тяжелые нынче сайты :(

                        Более того, тем, кому кеш наиболее полезен (смартфоны, планшеты) он меньше всего и помогает, т.к. банально мал для всего медийного контента, что потребляется нынче.

                        Посмотрите сами (на своей машине) статистику, как часто ваша машина делает запрос на jQuery с серверов Гугла. И какая задержка при этом.
                  • +8
                    Думаю и Гугл и Яндекс падают реже, чем любой ваш сайт ;)
                    • +1
                      Конечно реже, но зачем плодить риски на ровном месте?
                      • +6
                        Ну я им как-то доверяю — плюс грузиться должно быстрее с их серверов, особенно, если посетитель моего сайта уже был на сайте, на котором подключен скрипт тоже с гугла. (Мелочь, но все же).
                        • 0
                          Как правило, внешние скрипты почему-то быстрее не грузятся. Для них одна секунда бывает нормой, даже хорошей. К тому же они дают это не за просто так, а за отслеживание действий ваших посетителей.
                          • 0
                            Ну что ж, пожалуйста — они это делают, чтобы сделать поиск лучше. Я не верю во всемирный заговор.
                            • +1
                              Нет, они делают это, чтобы заработать больше. Это может совпасть с лучшим поиском, а может и не совпасть.
                      • 0
                        оно-то наверное да, но не всем понятно потом, откуда глюки загрузки сайта, он же ведь работает. Оказывается что это какой-то из чужих сайтов навернулся (баннерная система или статистика).

                        В такие моменты понимаешь, что не асинхронная загрузка js кода — злейшее зло.
                        • 0
                          Я говорю именно про гугл и яндекс. Не о других
                          • 0
                            Не так давно падало пару сервисов яндекса, включая яндекс.метрику. Вот это ора по интернету было (и тут, кстати, тоже).

                            А ведь можно было этого всего избежать, сделав всего-лишь асинхронные вызовы.
                            • 0
                              За последний год только на моей памяти jquery с серверов яндекса не был доступен 3 раза в течении минимум минуты. Так же несколько раз был недоступен код директа и яндекс карт, что значительно тормозило загрузку половины рунета.

                              К тому же, перекладывая загрузки библиотек на сторонний сервис вы в любом случае только увеличиваете вероятность проблем — либо ваш сервис не работает, либо сторонний.

                              Использование cdn имеет смысл только для действительно сильно нагруженных сервисов, которым раздавать тяжелую статику становится проблематично.
                          • +1
                            Бывает какой-нибудь части сети временно обрубают иностранный трафик из-за технических проблем.
                            И тогда у этой части пользователей нет вашего сайта.
                            На графике просто падение трафика. Понять что к чему — сложно.
                            • 0
                              У провайдера, например, могут быть проблемы с DNS, или просто может не пускать на сайт. По своему опыту скажу, что это не такая уж и редкость.
                              • 0
                                Тут я могу с Вами поспорить. У меня при загрузке сайта стабильно 1 раз в месяц отваливается по таймауту mc.yandex.ru. При этом сам сайт за последние 4 месяца ни разу не падал.
                                • –1
                                  Согласен, но есть один, неприятный, но таки минус, если найдутся какие то методы в API как deprecated, как было в недавних релизах, конкретнее вспомнить не могу, извиняйте, то понятно, старые проекты рухнут при таком подходе и вам придется либо переписывать, либо искать версию, которая была актуальна, что проблем в принципе тоже не много доставит.
                                  • +1
                                    Если я правильно вас понял, то подключая jQuery в url вы явно указываете какую версию хотите получить: yandex.st/jquery/1.7.1/jquery.min.js тому пример.
                                    • 0
                                      Нет, я кстати не знал об этом, спасибо. Просто если честно один раз пользовался этим методом и не обратил внимания на то что версия указывается явно. Предыдущий камент в топку.
                              • +3
                                В некоторых частных случаях (в частности, в политическом сайтостроении) нельзя исключать даже и того, что у администраторов Гугла или Яндекса могут быть собственные интересы, не совпадающие с политическим направлением Вашего сайта.

                                Google, например, давно и деятельно ведёт политическую и практическую борьбу за права гомосеков.

                                Сегалович, например, входит в Центральный выборный комитет Координационного совета российской оппозиции.

                                И так далее.

                                Впрочем, я ограничусь упоминанием этого обстоятельства без дальнейшего обсуждения, потому что правила Хабрахабра предполагают внеполитическую его сущность.
                                • +5
                                  Всё же приведу, для наглядности, ещё один пример из жизни: позавчера я сообщил на Хабрахабре о появлении бесплатного и свободного шрифта «Сталин», а сегодня узнал, что администрация Google Web Fonts (это своего рода CDN, только для шрифтов, а не для джаваскриптов) в лице одного из своих менеджеров по политическим соображениям принуждает авторов к переименованию шрифта (что приведёт, в частности, к издыханию этого шрифта на всех сайтах, которые успели его подключить из CDN — до тех пор, пока не узнают о переименовании и не переменят код соответствующим образом).

                                  В письме, полученном авторами шрифта, Сталина косвенно сравнивают с Гитлером, Гёббельсом, Пол Потом и организаторами двойного авиационного тарана Всемирного торгового центра в Нью-Йорке 11 сентября.
                                  • +1
                                    Ну, к примеру для меня Сталин действительно стоит на одной доске с Гитлером и Пол Потом. И еще для значительной массы украинцев. Предлагаете запилить заодно шрифт Пол Пот?
                                  • +3
                                    Всегда радовался вашему языку, а тут — такое. В русском языке есть слово «гомосек»?
                                    • +2
                                      Как в анекдоте про Вовочку: жoпа есть, а слова нет!
                                      • +4
                                        Мужеложец будет труЪ.
                                • 0
                                  изначально код проверялся в браузере, ничего как бы не предвещало. хотя в целом согласен — косяк мой, впредь буду умнее.
                                  • +10
                                    На ошибках учатся, а тут человек ещё и поделился опытом. Молодым может быть полезно.
                                    • 0
                                      «Обновление flash» на мобильных устройствах — это, почему-то, самый популярный развод.
                                      • 0
                                        да они на самом деле могли написать там и «обновление Java» или вообще чего угодно, вплоть до установки антивируса на Nokia 3310. мне кажется, это не принципиально.
                                        • +7
                                          Обновление оперы тоже популярно.
                                    • 0
                                      Я подумал речь пойдет о подобном сайте как (wappixel.com) там дают код изображения,
                                      которое в прямом смысле сливает трафик пользователя.
                                      • 0
                                        сливали…
                                        Несколько лет как закрыт указанный вами сервис. Так же премиум трафик уже давно не актуален.
                                      • +3
                                        Зря затёрли адрес, хотел блок-лист в смартфоне пополнить.
                                        • +1
                                          я вам в личку отписал. но если хабрасообщество сочтёт нужным выложить все явки и пароли в паблик — сделаю это. просто есть ведь ещё и призрачный шанс, что кто-то поломал вполне себе белую и пушистую рекламную сеть, а я её тем самым дискредитирую.
                                          • 0
                                            Тогда тем более надо до ее владельцев донести. Не читают почту — так хоть так внимание обратят. Я за паблик.
                                        • +6
                                          Не понятно чего тут хитрого. Эти методы используются уже много много времени, я заколебался репортить о фишинге несколько раз в день. Дошло до того, что магазин моего провайдера при заходе с Android перенаправляет на «Ваш %что-нибудь% устарел» и тут за скачивается троян в apk.
                                          • 0
                                            А в поддержку провайдера написать? Вряд ли они самостоятельно поставили редирект.
                                            • +1
                                              Прошло всего полтора месяца с момента отправки письма. Специально писал с рабочего ящика @kaspersky.com. Я все еще жду реакции.
                                              Сарказм инсайд.
                                              Забили они, деньги, видимо, поступают.
                                              • 0
                                                А провадер-то крупный?
                                                • 0
                                                  Для Химок — да. Думаю самый крупный в Химках.
                                                  Но я плохо выразился. Это магазин, который рекомендует мой провайдер. Типа, там карточки, роутеры под прова и все такое. При чем и для Химкинского отделения и для Уральского. Не думаю, что магазин является частью провайдера.
                                                  Впрочем, чего это я «не думаю». Ща гляну whois хотя бы.
                                                  Глянул. Это одна и та же организация, либо магазин — дочернее предприятие.

                                                  И как еще тогда заставить провайдера убрать с сайта своего магазина редирект на троянов?
                                                  • 0
                                                    Написать не в техподдержку, а директору?
                                        • 0
                                          На большинство сайтов укоза со смартов тоже лучше не ходить — сразу перенаправляет на всякие «обновители» оперы и флеша.
                                          Ради интереса нажал «Обновить» на айпаде, оказалось все скучно и банально — попросило отправить SMS
                                          • +1
                                            Да сейчас в баннерных мобильных сетях та еще помойка. Часть баннеров с перенаправлениями, 80% от оставшихся — с сообщениями ваш браузер/андроид/флеш устарел и по ссылкам скачивается «обновление» с трояном.
                                            Причем в самой приличной программе/игре/сайте это встречается. Там надо чистку проводить радикальную
                                            • +1
                                              «По статистике от 5% до 20% посещаемости любого сайта составляет мобильный трафик.
                                              Эти посетители вам бесполезны.» — когда я увидел в метрике, что некоторые посетители заходят на сайт с мобильного — в первую очередь озадачился мобильным интерфейсом (не самым навороченным, но для наладонника более удобным, чем «типовая» версия). После этого процент таких посетителей (закономерно) увеличился, да и самому стало удобнее мониторить изменения в дальних поездках.
                                              Странно, что Вас не насторожила эта фраза, как могут быть не нужны посетители?
                                              • 0
                                                +1

                                                я лично, с одной стороны умею делать мобильные интерфейсы, с другой — занимаюсь «скорой компьютерной помощью» для нескольких, условно говоря VIP'ов по старой памяти

                                                так вот:

                                                пару недель назад эти партнёрки по агрегации мобильного трафика активизировались

                                                пошли косяками люди, которые никуда не нажимали и заходили только на привычные и проверенные сайты
                                                и там сразу был редирект (js) на загрузку этой заразы

                                                я тоже поставил себе мобильный UserAgent (при явно не мобильном разрешениии экрана) и обнаружил, что трафик сливают и весьма респектабельные сайты

                                                собрал небольшую коллекцию .apk-вирусов, кстати — все они определяются как трояны обычными «настольными» антивирусами

                                                пока выход такой:

                                                1) включить запрет на установку приложений не из маркета (не из канала Google Play)
                                                2) всячески понижать карму сайтам, сливающим трафик, в частности, жалуясь на них в поисковики
                                                www.google.com/safebrowsing/report_badware/
                                              • –1
                                                Угу, а потом на автомате подписывают на какой-нить посуточный сервис тех, кто с мобилы зашёл на сайт…
                                                • +4
                                                  Получал один раз подобное, предлагали вставить код для «обновления» оперы-мини. Были посланы очень грубо и далеко, а также получили предложение затолкать своё «обновление» себе же туда, где ему самое место.
                                                  • 0
                                                    Судя по тому, что даже на весьма посещаемых сайтах рунета полным-полно баннеров «с душком» (начиная от «жми, и узнай дату смерти», и да «обнови свой скайп»), чистоплотность присуща далеко не всем.

                                                    Тем рунет, похоже, отличается убеждением, что деньги не пахнут, а посетители «пахучих» (вывешивающих такие баннеры) сайтов — невероятной лояльностью, не уходя с ресурсов.

                                                    О чем тут говорить?
                                                    • 0
                                                      Не пойму ЗАЧЕМ сливать трафик по 25$ за 1000хостов и еще на партнерки…
                                                      Лично сам бы выкупил для своих белых проектов мобильный трафик по таким ценам!

                                                      А по теме, автор молодец что заметил. Очень часто рекламодатели ставят фильтры со своей стороны и владельцы сайтов даже не подозревают на что они продают рекламу…
                                                      • 0
                                                        Ну так вы-то предлагаете рекламу или баннер, по которому еще неизвестно сколько перейдут. А с редиректом хосты=мобильные посетители.
                                                        • +2
                                                          За такую цену я согласен скупать редиректы )))
                                                          +Гарантия что ваши пользователи не будут «кинуты» на лохотронах.
                                                      • 0
                                                        Будучи нубасом в android, зайдя на какой-то сайт, скачал и установил это «обновление» Flash. После чего со счета телефона сняли все деньги, а когда их не осталось пришли пара смс, о невозможности выполнения операции.
                                                        • +1
                                                          Вот оно как, оказывается, эти ребята напрямую предлагают установить редирект. Надо признаться, что обнаружив значительное количество вроде нормальных сайтов с редиректом мобильных юзерагентов на эти tds, я предполагал взлом, а не добровольную установку… Совсем обнаглели.
                                                          Замечу, что антивирусные компании вынуждены вносить весь домен в список, распрстраняющих опасное ПО, т.е. даже если редирект идет только для мобильных.
                                                          P.S. интересно, владельцу roman-abromovich.com тоже денег не хватает? ) осторожно, вредоносный редирект!

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