vmet.ro и её реклама...



Все кто хотя бы раз ловил вай-фай в метро (Московском) наверное известно о навязчивой рекламе, которая появляется везде и довольно часто кривит сайт.

Мне это надоело и я начал копать и откопал такой вот файлик





Ссылаемся на него: ad_injector.js

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

В чем вопрос?
Как возможно перебить события или запретить вставку данного скрипта в тело документа? Ясное дело если https протокол, то все хорошо, но на данный момент сайт работает как и большинство с http.

Вообще не люблю когда, что-то внешнее внедряется в ресурс, особенно трояны, часто вижу что посетители сайта переадресовываются на всякие сайты типа «вулкан» и т.п. — это меня печалит.
Павел Левин
06 марта 2015, 20:10
modx.pro
1 861
0

Комментарии: 9

Василий Наумкин
06 марта 2015, 23:53
0
Насколько я понимаю, только https.
    Павел Левин
    07 марта 2015, 02:39
    0
    Я думаю есть не плохой шанс помешать всем баннерам появляться на свет божий =)
    Конечно это будет происходить только на текущем ресурса, но мне удалось отловить сам баннер.

    Когда изучал скрипт, я заметил, что он проверяет юзерАгент.
    window.navigator.userAgent.toLowerCase();
    В наше время нет ничего невозможного и подмена юзерАгента была сделана.



    Позже я попробую разные варианты, возможно найдется стабильное решение, ну или временное.
    Павел Левин
    10 марта 2015, 11:44
    0
    Пробую такой вариант:
    <style type="text/css">div[id^="adfox"] {display:none!important;}</style>
      Павел Левин
      10 марта 2015, 20:59
      0
      Вариант рабочий, но не на 100%*, далее следующий вариант:

      <style type="text/css">div[id^="adfox"] {display:none!important;width:0px!important;height:0px!important;overflow:hidden!important;z-index:0!important;}</style>
      * Была проблема с невидимым объектом, поверх шапки, при нажатии вел на сайт рекламодателя.
        Сергей Шлоков
        11 марта 2015, 15:50
        0
        А чего не прибить его совсем с помощью jQuery
        $('div[id^="adfox"]').remove()
          Павел Левин
          11 марта 2015, 22:46
          0
          Если бы было все так просто =)
          Там стоит таймер, можно глянуть в скрипте.

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

          Как должно быть: увеличение по клику ↓



          Растяжка на сайте:



          После таймера баннер ушел:



          Функция баннера растяжки:
          function addBanner(type, delay) {
                      // Set script params
                      var randoms = getRandoms();
                      var code = getScript(_adKeys[type], randoms, _adPuids);
                      // Create html
                      _bannerElement = createBanner(_bannerPrefix + randoms['pr1']);
                      _bannerElement.innerHTML = getIframeHTML(_iframePrefix + randoms['pr1']);
                      document.body.appendChild(_bannerElement);
          
                      // Load script with start delay
                      setTimeout(function() {
                          loadScript(1, randoms['pr1'], code, _iframePrefix + randoms['pr1']);
                          console.log('AdFox: Show ' + type + ': ' + new Date);
                      }, delay);
                  }
            Сергей Шлоков
            12 марта 2015, 08:58
            0
            А просто может с версткой разобраться, чтоб не ломалась. Да и пусть себе все эти баннеры живут?
            Ну или тогда https.
              Павел Левин
              12 марта 2015, 11:03
              0
              Большие сомнения, что проблема в ней. Не может шапка скривится и футер под нее подлезь ак просто
      Павел Левин
      20 марта 2015, 22:22
      0
      Собственно актуальная боевая версия css:
      <style type="text/css">body div[id ^= "AdFox"], body div[id ^= "adfox"] {position:absolute!important;display:none!important;width:0px!important;height:0px!important;overflow:hidden!important;z-index:0!important;}</style>

      На данный момент спокойно прячет всю рекламу, которая вставляется скриптов в тело страницы. Храню его в конце страницы.

      Конечно, если бы народ сделал расширение (Android и iOS), которое бы резало попытки подставить данный скрипт, было бы проще, но пока никто не додумался =) Ведь если подумать, то такое расширение быстро наберет миллион скачиваний, если грамотно предоставить, на хабре к примеру ^__^
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9