Рекламы много не бывает

Рекламы много не бывает

Видимо с таким лозунгом ростелеком добавляет рекламу на сайты которые работают по http.

Я в разработке сайтов давно и один из первых пунктов перед сдачей проекта клиенту это подключение https.

Но что делать если https при разработке отсутствует?

Почему отсутствует? Тут два варианта:

  • Вы работает на localhost и настраивать туда https не хотите.
  • Вы используете бесплатный домен от хостинга, чтобы потом перенести проект, это и был мой вариант.

Сегодня я столкнулся с тем что скрипты на сайте начали отваливаться один за другим.То отвалился jQuery, потом слайдеры, маска для телефона. Проблема решилась подключением через CDN.
НО отваливается только один скрипт, остальные грузятся нормально, как только подключаем проблемный через CDN, отваливается следующий по порядку.
Значит дело не в том скрипте? Значит это не jQuery обиделся и решил сломать мне все?

Смотрим дальше и видим что adblock блокирует загрузку скрипта с сайта http://r.analytic.press/, но я же нигде его не подключал!

Рекламы много не бывает

Начинаем самую интересную часть - гуглим и находим ответ. Оказывается это проблема не только у меня и реклама появляется у людей даже на localhost!

Ужас, бесстыжий ростелеком!

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

  • При обновлении страницы пытается подменить мой скрипт
  • Делает это не каждый раз, примерно 1 раз на 5-10 обновлений страницы
  • Берет всегда первый скрипт и пытается его заменить
  • Ему все равно что там, главное что он первый и, по видимому, он уже его

Времени мало, надо решить проблему чтобы можно было работать с проектом.

Я нашел не самое элегантное решение, но оно поможет если вы сейчас на http но в будущем перейдете на https

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

<script src="/test.js"></script>

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

Для php есть пример с проверкой https

<? if (empty($_SERVER['HTTPS'])) { ?> <script src="/test.js"></script> <? } ?>

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

Как быстрое решение мне это помогло

Так же пишут что можно написать в техподдержку ростелеком и они отключат рекламу для вас, но насколько вообще законны такие манипуляции?

Если вы сталкивались с этой проблемой, как решали ее вы?

22
3 комментария

Угу, одна из немногих моих статей на vc именно про эту же проблему. Лично для меня проблема была в наличии моих сайтов, которые я тогда не видел необходимости переводить на https (лень было). Провайдер мне вот так незаконно, но доступно объяснил - пора.

1
Ответить

Щас читаю на эту тему, смотрю многие провайдеры грешат этим. 
Теле2, мегафон, ростелеком, билайн(как вижу из вашей статьи)

Меня интересует вопрос законности данной деятельности и каким образом можно решить этот вопрос без лишних лайфхаков

Ответить