0
<< предыдущая заметкаследующая заметка >>
06 марта 2015
Бесплатный WiFi в Московском метро

На фото - плакат на стене метро Лондона, рекламирующий якобы бесплатный WiFi, 2013 год. Но радоваться рано: подключиться к нему в Лондоне мне так и не удалось ни разу. Также что-то пока не замечал я бесплатного WiFi в метро Берлина, Вены, Киева, Питера, Казани и других городов. Знаю, что бесплатный WiFi почти во всех аэропортах Европы, в московских и даже в Грузии (хотя в тот день в аэропорту Грузии вайфай почему-то не работал, но местные уверяли, что вообще муниципальный вайфай бесплатен по всему городу Тбилиси - уж не знаю, правда или нет). Но что касается вайфая в метро - есть ли такие города?

А вот москвичи заметили, что в вагонах московского метро уже давно работает бесплатный WiFi! И это на фоне прочих метрополитенов выглядит достаточно революционно. За что хочется сказать огромное искреннее спасибо руководству города и метрополитена, и лично Сергею Собянину. Это очень хорошее, мудрое и полезное дело! И самое благородное из всех российских государственных инициатив - за последний год уж точно.

Конечно, есть пока мелкие недочеты. Типа того, что работает не во всех вагонах, иногда виснет и регулярно отсоединяется, после чего нужно повторять процедуру входа, которая сделана неудобно. Но это сущие мелочи, жаловаться на которые стыдно.

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

Но вот чему нет и не может быть никакого прощения - так это тому, что метровайфай самым бесстыжим образом залезает в код любой открытой вами страницы и внедряет в html собственный анальный зонд:

http://cdn.vmet.ro/injectors/ad_injector.js
Который затем создает окна со всплывающим рекламным блоком:

<div id="аdFox_injector_49195"><div style="visibility:hidden; position:absolute;"><iframe id="аdFox_iframe_49195" width="1" height="1" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></iframe></div></div>

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

Я давно хотел заняться этим вопросом, а на днях ехал забирать машину из ремонта с Южной до Петровско-Разумовской, и с мобильника (не спрашивайте меня больше, почему я использую только смартфоны с клавиатурами) к концу поездки я всё отловил, и написал код, выжигающий нечисть. И расскажу вам. Потому что за такие вещи мы будем драть жестко. Каким бы ты ни был супер-бесплатным провайдером, но инъекции в код чужих страниц - это безнравственно и подло. В жопу себе вставьте инъекцию! Сегодня я увидел объявление на rbc, что метровайфай стал продавать рекламу официально, и понял, куда она будет встроена, когда Яндекс натестируется всласть и уймётся.

Итак, как бороться?

1. Если вы простой пользователь, часто катающийся в московском метро? Терпите. И не спешите корить владельцев сайтов за неуместную всплывающую рекламу - вполне возможно, ее вставил туда метровайфай. Я не знаю, что предложить простому пользователю, потому что расширений для браузеров писать не умею, да и есть ли расширения для мобильных браузеров?

2. ПОКА НЕ ОТЛАЖЕНО! НАПИШУ ЧУТЬ ПОЗЖЕ! Вы читатель дневника на моем сайте? Или владелец сайта на моем движке? На сайте вы больше дряни не увидите - я вставил одну строчку в main.js, чтобы блокировать эту мерзость. Вы сможете узнать, что мерзость была, только если на полсекунды мигнет желтое окошко "MosMetro spam detected!".

3. Если вы просто владелец какого-то сайта? Подумайте крепко о переходе на https. Как на Фейсбуке, Вконтакте и прочих серьезных проектах. И я тоже подумаю об этом. Потому что за https будущее. Все эти провайдерские жучки, взломы, утечки паролей, прослушка - это с каждым годом будет только расти. И дело не в провайдерах и уж конечно не спецслужбах. Нужен ликбез? Объясню на пальцах. Многие пользователи интернета до сих пор не в курсе, что технический стандарт позволяет КАЖДОМУ, кто подключился рядом с вами к той же сети WiFi (хоть в Макдональдсе, хоть в зале ожидания аэропорта, хоть в вашем рабочем офисе) прослушивать ВСЕ пакеты обычного http, которые ходят в интернет и обратно от вас и прочих, кто сидит в пределах одной сетки (к подключению по кабелю в пределах одной сетки это тоже относится). Потому что вся информация по http ходит табуном совершенно открыто. И если у вас на экране не видны страницы, которые получает и отправляет сосед по креслу или по этажу в отеле, то не надо думать, будто эти страницы по WiFi не прилетают к вам в ноутбук или смартфон - прилетают еще как. Просто операционная система настроена фильтровать то, что вам не принадлежит. Но нет проблемы это посмотреть специальным софтом, если кому-то захочется. А вот https - шифрованное соединение, и оно разом избавляет от этих и большинства других проблем.

4. И наконец, вы владелец сайта (не на моем движке), пока не перешли на https, но желаете по-быстрому избавить тех, кто читает вас из московского метро, от паразитных вкладок? Вставляем скрипт в свои страницы:

ПОКА НЕ ОТЛАЖЕНО! НАПИШУ ЧУТЬ ПОЗЖЕ!

Смысл кода - найти объект DIV, в имени которого присутствует 'adFox' скрипт, который создает всплывающие окна по событию onload, и безжалостно вычистить.

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

PS: У меня есть основания полагать, что кроме DIV,в страницы внедряется еще и скрипт, который этот DIV обслуживает. После вычищения DIV он уже не может показать всплывающий рекламный блок, но, вероятно, сидит, жрет ресурсы, отсчитывает время таймером или ходит в сеть за инструкциями. Если это так, хотелось бы вычищать и этот backdoor. Но со смартфона мне просто нечем это посмотреть, а c ноутбуком я в метро не езжу, да и аккумулятора у него на 5 минут. Если у кого-то будет возможность выяснить в метро эти подробности - буду благодарен. А если у кого-то из знатоков есть идеи, как средствами JS обнаружить появление лишнего чужого скрипта и дезактивировать его - пишите, применим.

UPD2: Да, вот я тут вдогонку сваял небольшой скриптик по анализу скриптовой дряни, которая могла внедриться в страницу. После полного окончания загрузки данной страницы (речь только о моем сайте!) ниже должен появиться список из 12 или 13 моих скриптов (зависит от опций в вашей учетной карточке), причем реально строк будет меньше, потому что пара первых найденных скриптов почему-то всегда "пустые", я их не отображаю. И почему-то kuku.js показывает в списке дважды - не пойму почему, ну и ладно. В общем, это то что обнаружено сейчас на загруженной вами странице. Пожалуйста сообщите мне в комменты или на lleo@lleo.me, если увидите среди этого списка что-то чужое, что будет помечено красным крестом ! Любой неизвестный скрипт будет означать, что ваш провайдер или вирус или какой-то неясный плагин вставил что-то, что не предусмотрено моим сайтом.

...почему-то скрипт не отработал...
вероятно вы читаете копию на постороннем сайте или ваш браузер не выполняет скрипты
UPD: Для тех, кто не понял, о чем пост: нет, меня НЕ ИНТЕРЕСУЕТ вопрос, как избавиться от рекламы лично МНЕ на моем смартфоне или ноутбуке. Вопрос стоит шире: как средствами JS на сайте избавить от встроенного метроговна всех его читателей - включая тех, кто по разным причинам не умеет или не может установить на личные устройства дополнительный софт. И про https мне тоже рассказывать не надо, иначе я сразу догадаюсь, что вы не дочитали мой пост даже до пункта 3 ;)
<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок