Эта небольшая история для меня закончилась благополучно(Но только для меня, а не для всех остальных абонентов билайна.), и надеюсь, что больше оно не всплывет.
Читал я как-то за обедом новостные ресурсы с мобильного телефона. И заметил, что на всех страницах справа присутствует новый элемент. Элемент этот, раскрашенный в желто-четные полосы явно инородный:
Посмотрел в исходники страницы, выяснить, что это. Оказалось — это «Мини кабинет» от билайна, который они от широкой души своей решили воткнуть во ВСЕ! посещаемые пользователями страницы. Ну под https только не могут, но под basic access authentication втыкают не глядя).
Вставляется этот элемент javascript-ом:
<!-- [start] toolbar body -->
<script name="ets-anchor" type="text/javascript" src="http://toolbar.beeline.ru/ets/scripts/Anchor.js"></script>
<!-- [end] toolbar -->
Вот этот именно кусок кода провайдер и вставляет во все подряд страницы. В итоге в body втыкается iframe с нехилой такой страницей, размером побольше среднего сайтика…
Естественно, мне такое самовольство провайдера жутко не понравилось.
Сам тулбар находится в iframe, но с iframe никто не мешает поиграться владельцу сайта…
Плюс, я с ресурса хочу получать html файл в том виде, в котором он предоставляется, а не с изменениями, которые провайдер воткнул в файл по неизвестным мне причинам.
Ну и, как мне кажется, тут есть нарушение законодательства.
Первое, что я сделал — это позвонил и спросил, откуда «это» и почему мне его подключили без моего согласия. И спросил как отключить.
На последний вопрос ответили. На первый только поБэМекали.
Выполнил я инструкции по отключению, и Желто-полосатое чудо пропало со страниц. Но только визуально, ибо тот javascript, который рисовал новый элемент оставался висеть в хедере html-ки.
Т.е. провайдер все так-же продолжал изменять пользовательский трафик.
Дальше переписка на pomogite@beeline.ru (попутно потролил их в твитере и по телефону 0611):
Доброго дня.
Меня зовут Антон.
телефон +7-XXX-XXX-XX-XXЯ пользуюсь интернетом, предоставляемым вами на своем телефоне.
Вы внедряете во все посещаемые страницы при использовании вашего интернета на телефоне чужеродный код, который называете «мини кабинетом» moskva.beeline.ru/customers/press/news/details/mini-kabinet-beeline-vsegda-pod-rukoy/Отключение этого «мини кабинета» не приводит к прекращению внедрения кода в страницы а лишь скрывает добавляемый им чужеродный визуальный элемент.
Простыми словами — вы вмешиваетесь в трафик пользователей.
Этими действиями вы нарушаете УК РФ и закон «О связи».
Скриншоты с визуальным элементом и внедряемым кодом приложены.Прошу немедленно прекратить вмешивание в трафик пользователей.
Если вы не прекратите нарушение вышеобозначенных законов, то я буду вынужден обратиться с заявлением в прокуратуру Москвы.
Ответ получил на следующий день. Но какой!!!:
Добрый день, Антон!
Получили комментарии от разработчиков Toolbar:
1. О невозможности использования CDN:
Мы целенаправленно не пользуемся технологией CDN в силу ряда существенных ограничений, например, вложенная библиотека jQuery несет в себе несколько важных внутренних модификаций. Другой причиной отказа от CDN стало желание уменьшить количество запросов за счет включения библиотеки jQuery в итоговый файл с js-кодом.
2. «Паразитный» трафик:
Можно долго спорить о том, лишние ли 133 Кб. Но если вглядеться в приведённый скриншот, то можно заметить, что Anchor.js кэшируется (посмотрите на статус 304), т.е. он загружается лишь раз, а затем браузер проверяет, не менялся ли файл с момента загрузки. Также заметим, что весь трафик с домена beeline бесплатен. Возможно, в следующей версии объем скрипта будет уменьшен, а метод кэширования будет заменен на истечение срока, чтобы сократить количество обращений к серверу, т.к. файл не меняется в течение длительного времени.
3. Использование window.onload для отрисовки тулбара:
В ряде случаев $(document).ready, возможно, было бы достаточно, но для корректного отображения тулбара использовать windows.onload более грамотно. Нам необходимо знать позицию и прокручиваемую область страницы для правильной отрисовки тулбара, а для этого нужно знать о таких элементах, как картинки, которые имеют прямое влияние на прокручиваемую часть страницы и загружаются уже после того, как DOM окончил загрузку. Соответственно, в нашем случае $(document).ready будет недостаточно. Причем использование windows.onload никак не влияет на скорость отображения и функциональность загружаемой страницы.
4. Использование document.getElementById:
Тут мы хотели бы выразить благодарность за codereview и отметить, что в будущих версиях тулбара мы планируем избавиться от legacy-кода.
В итоге получаем следующие выводы:
— Необходимости в использовании CDN нет;
— Загружаемый javascript загружается только один раз и не тарифицируется;
— Использование window.onload оправдано.При возникновении дополнительных вопросов, будем рады на них ответить!
Ну блин нифига себе… Специально делают вид, что не понимают? Как думаете?
В ответ я написал следующее:
Извините, но я говорил о факте незаконного внедрения кода(модификация клиентского трафика) а не о технической реализации данного кода.
Через некоторое время получил письмо, что мое обращение передано техническим специалистам.
И через 2 дня случилось чудо!
Добрый день, Антон!
Ваш запрос выполнен. «Мини-кабинет» (Toolbar «Билайн») полностью отключен на Вашем номере техническими специалистами. Примите, пожалуйста, извинения за неудобства.
Чудо в том, что убрали модификацию трафика лично для меня только на моем номере. Но у всех остальных все осталось по прежнему.
Надеюсь, что ребята из билайна будут тут пробегать и подумают над своим поведением тем, что они поступают, как если бы на почте вскрывали все конверты и вкладывали туда свои бумажки.
А всем читателям согласных с тем, что модификация трафика провайдером — не очень честное занятие желаю успехов в борьбе с подобным поведение провайдеров…
Думаю, если подобных обращений в билайн будет больше, то полосатики задумаются…
Автор: cramen