Как-то раз на одном сайте администрация вежливо попросила пользователей добавить сайт в исключения адблока. Я, как сознательный пользователь, это сделал – но появившаяся реклама через какое-то время стала совсем не похожа на допустимую рекламу, и я включил адблок снова. К моему удивлению, реклама не исчезла – и я стал разбираться, в чём тут дело.
1. Обход adblock со стороны разработчиков:
Способ обхода adblock, который применили разработчики сайта, оказался очень эффективным: они помещали рекламу в div со случайным переменным классом, который менялся при каждой перезагрузке страницы. Также были убраны все атрибуты, по которым можно было идентифицировать div или рекламу внутри: никаких постоянных id элементов, изображение рекламы подгружается с хостинга, на котором хранятся полезные картинки. Вышестоящий div содержит много полезной информации, так что его тоже не заблокируешь.
Случайный переменный класс для рекламного элемента – именно за этим, как мне кажется, будущее интернет-рекламы. По крайней мере, при огромной аудитории сайта – в стандартных подписках адблока эта реклама не блокируется до сих пор.
2. Блокировка рекламы пользователем, в обход обхода adblock:
Пришлось создать правило, исключающее вложенные полезные элементы. В описании создания фильтров для adblock нигде про это не рассказывается, поэтому незнакомые с CSS люди вряд ли смогут это сделать. Может, моя статья им в этом поможет.
Для вложенных элементов в adblock используется следующая конструкция:
div.внешний_класс > div.внутренний_класс
Для исключения элементов по какому-то атрибуту используется конструкция not:
div:not(.полезный_класс)
Таким образом, искомое правило выглядит так:
имя_сайта##div.sidebar_right > div:not(.block)
Это позволяет заблокировать все вложенные в sidebar_right элементы, за исключением тех, которые имеют класс block. Задача была решена – что дальше?
3. Обход такой хитрой блокировки со стороны разработчиков:
Обойти такую блокировку можно, модифицировав движок сайта. Например, если и вышестоящий контейнер, и вложенные полезные div тоже будут иметь переменные имена классов, в адблоке просто не будет механизмов для их идентифицирования. Так что, повторюсь – именно за таким подходом я вижу будущее рекламы, в то время как всё больше пользователей устанавливают фильтры, а адблок начинает рекламировать самого себя.
И, напоследок – ещё один эффективный способ для web-мастеров: можно просто добавлять ненавязчивую рекламу, тогда пользователи намного лояльнее начнут относиться к ней.
Комментарии (109)
Nicknnn
06.11.2015 20:02+3Вот примерно так можно убрать эти страшные лица в тонере справа.
для ublock
habrahabr.ru###layout > .inner > .column-wrapper:nth-of-type(2) > .sidebar_right > * > awithkittens
07.11.2015 17:11+2Вот не совру: бувально пару дней назад у этих страшных лиц ещё были нормальные id:
habrahabr.ru##DIV[class="daily_best_posts"] habrahabr.ru##A[id="print_tab"]
withkittens
07.11.2015 17:15+3На текущий момент вроде бы решилось вот так:
habrahabr.ru##div.sidebar_right > div:not(.block)
mtp
08.11.2015 03:43А не проще там ссылку на bit.ly детектировать?
xRay
09.11.2015 16:13Подскажите примерчик
Я пока так правило составил
###layout > .inner > .column-wrapper:nth-of-type(2) > .sidebar_right > * > a[rel="noreferrer"] ###layout > .inner > .column-wrapper:nth-of-type(2) > .sidebar_right > * > a[rel="noreferrer"]> img
olen
06.11.2015 20:03Также были убраны все атрибуты, по которым можно было идентифицировать div или рекламу внутри: никаких постоянных id элементов, изображение рекламы подгружается с хостинга, на котором хранятся полезные картинки
У рекламных баннеров все же есть существенное отличие от «полезных картинок»: по ним можно кликнуть (присутствует тэг «a»).forgotten
07.11.2015 08:37+3Ходят слухи, что JavaScript-ом можно обрабатывать клики по любым элементам.
dtestyk
06.11.2015 20:37Мне кажется у клиента есть преимущество, так как код исполняется на его стороне, в крайнем случае можно сделать для рекламы подходящую «песочницу» и вытаскивать только полезную информацию.
caveeagle
06.11.2015 21:00Мне кажется, наоборт:
— Владелец сайта делает это один раз для своего сайта. Причем, если сайт приносит деньги от рекламы, то это можно поручить профессионалам.
— Пользователь должен настраивать фильтры для каждого сайта, что в условиях рандомных алгоритмов будет непросто. Причем, для этого он должен либо делать это сам, и разбиратсья в css (как сейчас).
К примеру, удаление рекламы для одного сайта до сих пор не работает в адблоке, несмотря на огромную аудиторию.dtestyk
06.11.2015 21:15+5Тут может сработать краудсорсинг. Человек не будет искать настройки(или что там еще потребуется) для каждого сайта. Он решит задачу для одного конкретного. А затем обменяется решениями с другими.
NetBUG
07.11.2015 02:35+1AdBlock Plus — далеко не самый умный плагин для этой задачи. К примеру, в нём нельзя просто так ввести регулярное выражение для id/класса элемента, что было лет семь назад в старой Opera.
CyberCore
06.11.2015 20:57+9Нужен компромисс, я бы отключил ad block, если бы не было анимированных баннеров.
foxkeys
06.11.2015 21:08+6Да, я тоже не трогаю рекламу, пока она не моргает. Как только появляется анимация — немедленно выпиливаю
нах...., эм, ну в общем, совсем выпиливаю.
Ocelot
06.11.2015 21:23+2Для лисы:
Анимированные гифки: плагин «Toggle Animated GIFs» можно настроить так, чтобы анимация воспроизводилась только по наведению курсора или по клику.
HTML5 video: пока не встречал в рекламе, но автоплей отключается параметром media.autoplay.enabled=false в about:config.
Flash: отключить его нахрен, флеш давно пора похоронить. Ну или сделать включаемым по запросу и разрешить только там, где он нужен.caveeagle
06.11.2015 21:35Собственно, все эти плагины у меня и стоят — Toggle и Flashblock. Просто рекламные картинки на одном сайте сами по себе стали несколько… вызывающими и отталкивающими, даже без анимации.
Vilgelm
06.11.2015 22:32+1Вот (впрочем, любой почти ucoz сайт) пример HTML5 видео в рекламе, еще и в виде попапа, который можно только через 30 секунд закрыть. Пока такое практикуется, AdBlock отключать нет смысла.
А вот AdSence или Директ даже полезным бывает иногда, эти сети блокировать как-то не тянет.
amarao
08.11.2015 17:13rbc в мобильной версии использует html5 видео с автозапуском. Мне кажется, они некую грань перешли уже.
sashabeep
09.11.2015 10:40+2Хоронили флеш — порвали три стандарта. Добро пожаловать в мир Canvas и всего такого, что вообще ничем не задетектишь
Часть баннеров вообще теперь делаю просто с помощью библиотечек слайдеров
И, кстатида, на одной из площадок, для которой постоянно делаю баннеры, увидев, как нереально тормозит что swiffy, что createJS нашли хак, как обойти автоматическую постановку флеша на паузу в хромиуме, потому что он не тормозит, как вся эта модная красота. Такие вот вести с полей.
dtestyk
06.11.2015 21:07+3Тема топика затрагивает самые основы философии программирования.
Потому что, подобное противостояние является одной из программистстских антиномий:
- вирус — антивирус
- анонимность — идентификация
- seo оптимизация — поисковики
- adBlock — реклама
- автоматизация — captcha
- Может кто знает еще какие?
- информационная перегрузка — пузырь фильтров
В теории игр модель подобных отношений хорошо соответствует минимаксу.caveeagle
06.11.2015 21:21Ну, я о более «приземлённом» — о том, что начинается эра рекламы, которая не будет блокироваться стандартными средствами «из коробки». Будут либо «гиковские» средства с индивидуальной настройкой, требующие знания CSS, либо платные сложные решения, с постоянно меняющимися алгоритмами.
dtestyk
06.11.2015 21:33начинается эра рекламы, которая не будет блокироваться стандартными средствами
Более того, рано или поздно начнет внедряться скрытая реклама, которая приблизительно соответствует стеганографии.Ocelot
06.11.2015 21:35+2Как раз к этому моменту подоспеют нейросети, которые будут распознавать рекламу на уже отрендеренной странице.
ankh1989
07.11.2015 06:49+1Это было бы идеальным решением: нейросеть должна распознать все вырвиглазные элементы интерфейса и выпилить их (ну или сделать статичными и черно белыми, чтобы не отвлекали). Можно, конечно, будет обмануть эту нейросеть сделав рекламу спокойной расцветки, но тогда её и блокировать незачем.
caveeagle
06.11.2015 21:36(с интересом) Это как? Интересно было бы услышать ответ — я не очень представляю себе такое.
KivApple
06.11.2015 21:42+2Думаю речь идёт о рекламных статьях, которые с точки зрения оформления никак не отличаются от полезного контента.
Mad__Max
07.11.2015 04:05Их уже полно, есть даже устоявшиеся профессии по их написанию и рекламые сети специализирующиеся на обмене такими всевдо-полезными статьями (вы размещаете у себя наши N статей, мы — ваши) как в свое баннерообменные сети.
Хотя на общем фоне (баннеров и рекламных ссылок и контекстной) пока меньшую часть и пока основной акцент на индексацию и позиции в поисковах, а обход рекламорезок вторичен.
Goodkat
06.11.2015 23:08+1Рекламу можно вставлять между абзацами полезного текста, между комментариями и т.п., вёрстку и css-классы генерировать уникальные для каждого просмотра, контент загружать программно уже после отображения рекламы, зашифрованным и распаковывать уже на клиенте с проверкой контрольных сумм получившегося дерева DOM — блокировщики типа AdBlock против такого пока бессильны. В Германии, кстати, одно популярное издательство так и делает — блокирует доступ к контенту, если установлен блокировщик рекламы; недавно отчитались о падении доли пользователей с блокировщиками и росте доходов от рекламы, а блокировщику рекламы через суд запретили блокировать блокировку блокировщиков :)
Думаю, будущее рекламщиков как раз за такими методами, а будущее блокировщиков — OCR+Crowdsourcing.
Парсер не дал вставить ссылки.
Запрет через суд: http://m.heise.de/newsticker/meldung/Axel-Springer-Einstweilige-Verfuegung-gegen-Adblock-Plus-2854649.htmldtestyk
07.11.2015 00:11+1блокировщику рекламы через суд запретили блокировать блокировку блокировщиков :)
То есть запретили Б3Р. Есть книга «Конфликтующие структуры», там вводится алгебра для подобной рекурсии.
Возможно, должен быть какой-то международный запрет на принятие подобных запретов: «право на бесконечную рекурсию».
Alexey2005
07.11.2015 21:24+2Начиная с определённого момента может стать проще не распутывать хитросплетения скриптов, а воткнуть блокировщик на выходе рендер-движка. Когда вся страница уже отрендерена в изображение, на нём распознавать всевозможной эвристикой области баннеров и их замазывать.
Lertmind
06.11.2015 21:23Я наверно что-то не понял, но чем не устраивает блокировка картинок через AdBlock? Около 7 штук заблокировал и больше не вижу рекламы с включённым AdBlock.
arkandos
06.11.2015 21:28Во-первых, это похоже на борьбу с ветряными мельницами — каждый раз ручками блокировать новый адрес. Во-вторых, лишняя нагрузка на то, чтобы отфильтровать по списку — семь, конечно, немного, а если больше? В-третьих, перфекционизм — при блокировке лишь картинки остается пустое место от div'а, так что сайдбар смещается чуть вниз, а с вышеописанным правилом все выглядит кошерно.
Lertmind
06.11.2015 21:44Я как раз исходил из того, что их не много, поэтому проблема только в третьем доводе. Да, способ выше лучше, но на данный момент они оба нормально справляются с задачей, пока что-то не сломается.
arkandos
06.11.2015 21:48Собственно, также и блокировал отдельные картинки до того, как появился этот пост. Как-то вечером взялся за это дело, но поскольку давно «не держал в руках» CSS, все свелось к идее остановить выполнение скрипта, который и творит все это безобразие с генерацией классов div'а.
caveeagle
06.11.2015 21:28Блокирование конкретной картинки по URL? Не устраивает, что завтра появится восьмая картинка — рекламодатели меняются. Кроме того, скоро такой подход возьмут себе и другие сайты — картинок будет сильно много.
KivApple
06.11.2015 21:39У меня была такая идея, но в благих целях. Если генерировать подобным образом (случайные id + в коде элементы находятся не в том порядке, в котором их разместит CSS) элементы формы, то можно, наверное, отсечь без всяких каптч большинство спамеров, а пользователь ничего и не заметит. Конечно, сломается автокомплит, но он нужен не везде.
caveeagle
06.11.2015 21:46(задумался над реализацией) Вы отсылаете на сервер данные формы, причем поля формы имеют случайное имя. Сервер должен при этом знать, какое именно имя соответсвует нужному полю. Значит, на сервере надо хранить соответствие — а хранение на сервере таких вещей замедляет быстродействие, и вообще не очень оптимально. Правда, можно эти данные шифровать внутри самой формы, ключом с сервера… В общем, да — интересное решение!
Спасибо, возьму на заметку.kloppspb
06.11.2015 22:46В самом простом случае поля формы могут генерироваться по определённым правилам, например, в зависимости от UserAgent, IP посетителя, текущей даты (не перескочить через полночь...) etc Соответственно, обработчик формы их легко восстановит (например, email будет лежать в поле с именем md5( «email» + HTTP_USER_AGENT). Ну или что-то в этом роде.
Goodkat
07.11.2015 00:31Зачем такие сложности-то?
Массив соответствия сгенерированных имён для полей много места не займёт, в сессии обычно и так много чего хранится, лишние сто байт погоды не сделают, а маппинг займёт намного меньше времени, чем пересылка данных формы по сети.
Но это сломает автозаполнение полей на стороне пользователя, а роботу обойти такую защиту не сложно — поля вы всё равно подписываете для пользователя.
dtestyk
06.11.2015 22:09не в том порядке, в котором их разместит CSS
А document.elementFromPoint(x, y) это обманет?KivApple
08.11.2015 17:09Обычно комфортный для пользователя размер полей лежит в достаточно широких пределах. Если сделать правильный дизайн (чтобы он хорошо смотрелся с полями разных размеров), то можно делать размеры элементов формы чуть больше-чуть меньше случайным образом каждую загрузку страницы.
qw1
06.11.2015 22:02+2На одном сайте была реклама партнёров, картинки грузились с полезного сайта, div было сложно идентифицировать, но была уязвимость — ссылка вела к партнёрам. По этому признаку и заблокировал
##a[href^="http://some.domain/delivery/ck.php?"]
evocatus
06.11.2015 23:58Можно пойти дальше: если картинка-ссылка ведёт на другой домен, уже можно блокировать.
qw1
07.11.2015 00:35Может быть много ложных срабатываний, например на трекерах превьюшки скриншотов ведут на хостинг картинок, таблички рейтинга кинопоиска — на страницу фильма.
Но идея интересная, блокировать не список источников картинки для банера, а список таргетов, куда ведёт ссылка из картинки. Если домен в чёрном списке, например googleadservices.com, картинку скрывать.
Iv38
07.11.2015 05:07Это может быть до 100% картинок на популярных сайтах. Например на этом сайте картинки к статьям на каком домене хранятся? Картинкохостинги, CDN, хотлинкинг, всё в бан? Или я не понял идею?
evocatus
07.11.2015 12:15+1Ну так это просто картинки, не ссылки.
Если хотят добавить в страницу картинку, пусть даже со стороннего хостинга — это один случай. Это либо просто img с прямой ссылкой, либо img с превьюшкой и ссылкой на страницу с полной версией. Это одни методы. Не припомню чтобы здесь редиректы использовали. Притом список самых популярных картинкохостингов можно добавить в белый список.
Если хотят вставить рекламу, это другой случай. Обычно прямых ссылок на картинку нет, потому что она каждый раз разная и загружается с стороннего хостинга. Также используются iframe, анимация и пр. Часто элемент с рекламой содержит немало JS. И HTML-структура обычно на порядок сложнее, чем у просто картинки, вставленной для дела, а не для рекламы. Редиректы — обычное дело.
Так вот — это 2 настолько отличающихся паттерна поведения, что их можно отловить, как мне кажется.
v0rtex
06.11.2015 22:11+1Немного оффтопа:
Как залочить рекламу в стоковом приложении YouTube на Android?
Adblock Plus не блокирует :(
А они уже внутри ролика вставлять начали.Vilgelm
06.11.2015 22:36AdFree отлично помогает.
А у кого-нибудь получалось смотреть видео на RuTube и подобных сайтах с включенным AdBlock в нормальном качестве? AntiAdBlock не спасает.Iv38
07.11.2015 05:14Я давно пытаюсь побороть рекламу на ютубе, но сейчас после установки этой штуки по ссылке произошло нечто, хм, подозрительное.
Начнем с положительного. Рекламы на ютубе я действительно пока не видел. Но через час после установки этого apk, конечно требующего рута, у меня угнали много лет не используемый AppleID, который привязан к тому же адресу электронной почты, что и гугл-аккаунт на планшете. Улики косвенные, но будьте осторожны.Vilgelm
07.11.2015 13:26Скорее совпадение или устанавливали откуда-то не оттуда. Пользуюсь уже очень давно, еще со времен первого Galaxy, когда никаких других способов избавиться от рекламы кроме AdFree не было. При этом на телефона всегда установлен Webmoney, QIWI, клиент ИБ и так далее. Так вот, за все время использования ни одного «угона» не было.
Кстати, AdFree блокирует рекламу во всех приложениях и в браузере за одно. Работает просто: добавляет в hosts записи типа 127.0.0.1 adsite.com
Greedz
07.11.2015 00:30Радикальный метод: Xposed + Youtube Adaway
Вообще забыл о рекламе в Youtube приложении.
xirahai
07.11.2015 19:00Вручную заменил hosts на двухметровой длины, еще установлена adaway (обычная). В Хроме на ютубе не наблюдаю рекламы.
Stiver
06.11.2015 22:34Что-то не соображу, а обычный RequestPolicy не поможет? Очень небольшое количество сайтов загружает рекламу со своего хостинга, т.к. это дает возможность накруток (рекламодатели, соответственно, против). На хабре RequestPolicy режет все, кроме рекламных ссылок в верхней строке, ну так они и не мешают.
qw1
06.11.2015 23:49Отличная штука, но статика, скрипты, css часто бывают на другом домене.
Нужна квалификация, чтобы понимать, как ей пользоваться, поэтому решение не для масс, и не вызывает бурных обсуждений.
Но даже с RP бывает нужен AdBlock для таких случаев.
SpiritOfVox
07.11.2015 00:35+4Самые первые блокировщики работали с размерами изображений.
caveeagle
07.11.2015 10:49+1Поэтому в гугле первый ответ на вопрос «Как обойти adblock»: "- Измените размер изображения на пару пикселей" =)
icelaba
07.11.2015 01:19История идет по кругу — первые вирусы, антивирусы, полиморфные вирусы, антивирусы умеющие ловить полиморфные вирусы.
Не так уж и сложно написать полиморфную верстку учитывая что имя тега-класса позиция элемента, уровни вложенности всем этим можно играть без ущерба для версткиOcelot
07.11.2015 02:10Значит, будет адблок с эвристикой?
caveeagle
07.11.2015 02:38+2И станет платный, по подписке. И будет штат специальных людей, разрабатывающих правила для блокировки.
Greedz
07.11.2015 20:24Такое уже есть у конкурентов, сидят люди на зарплате и своевременно обновляют фильтры. Довольно оперативно реагируют на жалобы о пропущенной рекламе.
dtestyk
07.11.2015 02:47+2а что еще нету? парочку эвристик распознавания рекламы уже упомянули:
следующий виток: эвристики распознавания антиблокировщика рекламы:
- полиморфное поведение
- обработка события DOMNodeRemoved
- проверка style.display
- наличие таймера
ankh1989
07.11.2015 07:10+10Когда на одном сайте появилось вырвиглазное мигающее нечто справа, причём это нечто явно не хотело чтоб его выпиливали (рандомные атрибуты), я просто выпилил sidebar-right — на нём всё равно ничего полезного нет. Подсказка как легко сделать трудновыпиливаемую рекламу: скрипт запускает таймер на 10-20 секунд, после чего создаёт прямо в document.body элемент верхнего уровня без всяких признаков отличия и с position:fixed, картинка (красная мигающая и противная — иначе зачем так заморачиваться) идёт в background-image, а ссылка — в addEventListener(«onclick», ...). Продвинутый юзер, увидев это, будет в бешенстве (я вот со злости весь правый сайдбар выпилил), но выпилить рекламу не сможет. Ещё рекомендую попробовать пойти дальше и сделать top-level баннеры которые надо нажать прежде чем они уйдут (без крестика, конечно) и желательно со звуком (всё создавать скриптом — никакой разметки). Наконец, можно обязать юзера смотреть рекламу: на входе показывать рекламу (видео), затем требовать ответить на вопросы по поводу просмотренной рекламы и лишь затем пускать на сайт (если отвечает неправильно, то заставлять смотреть видео в два раза большей длительности).
dtestyk
07.11.2015 09:15+3требовать ответить на вопросы по поводу просмотренной рекламы и лишь затем пускать на сайт
видео-капча :)
caveeagle
07.11.2015 11:04Увы, я не был готов пожертвовать подборкой «самое популярное».
А главное — из принципа не хочется жертвовать функциональностью сайта, если это явно не оговорено в пользовательском соглашении. Так что — решил включиться в эту бесконечную гонку блокировщиков и антиблокировщиков.
esc
07.11.2015 11:33Можно просто проверять то, что реклама отображена и не вырезана по таймуту и если не отображена, выпиливать все из document.body. Это не даст включить блокирующее правило в список т.к. оно будет ломать сайт.
xirahai
07.11.2015 19:50Если обязать юзера и задавать вопросы, или насиловать иными способами — тогда вопрос встанет о необходимости ему именно данного ресурса. Поэтому уйдут, пусть даже и в никуда. То есть образуется свободная и в то же время заинтересованная чем-то аудитория. Как следствие появятся более дружественные конкурентные ресурсы, куда все с удовольствием мигрируют.
qrasik
07.11.2015 10:49+3Вы зря боритесь с адблоком. В итоге он начнет вырезать не по месту размещения, а по содержимому. Согласитесь, создать тысячи не похожих друг на друга баннеров очень сложно.
Да и если посчитать ресурсы подконтрольные адблоку, то тот же фейсбук нервно курит в сторонке со своими датацентрами. В свое время, нейросети серьезно прорядили спамеров. Перенести этот опыт на рекламщиков мешало исключительно благосклонное к ним отношение.caveeagle
07.11.2015 11:18(задумался над идеей) С одной стороны — да, выглядит перспективно. С другой — есть ряд сложностей:
— Спамеров прорядили не просто нейросети. Их прорядили нейросети, созданные командой профессионалов, которые работали в крупных компаниях. Вспомните спам-фильтры, которые бесплатны, и работают на локальном компьютере? Они очень долго были неэффективны, да и сейчас та же ситуация, как мне кажется.
Спам фильтруется либо крупными игроками (гмейл, мейл-ру), либо платными антиспам-решениями, за которые пользователь платит деньги.
— В случае со спамом — он невыгоден крупным игрокам, и они готовы вложиться в борьбу с ним. В случае инет-рекламы, наоборот. Нет стороны, которая готова платить серьезные деньги для борьбы с этим явлением.
— Кроме того, вычислительные ресурсы: мейлы можно фильтровать по нескольку секунд, даже минут. Для инет-серфинга это не пойдёт. Для примера: спам в мгновенных сообщениях на стороне клиента не фильтруется вообще, не видел таких решений.
Так что тема интересная, но надо думать… и поисследовать инет-рекламу нейросетями — чем не тема для следующей статьи?xirahai
07.11.2015 20:13+1Если начнется заметный отток аудитории из-за навязчивой рекламы — тогда возможно и крупные поменяют отношение. На днях бквально был свидетелем как коллега искал запчасть по разным сайтам. Открыл очередной, а там как замельтешит, да еще и с звуком. Копирует URL в буфер и быстро нажимает ctrl-w, даже не заглядывая в списки цен. Спросил зачем чс'сишь в hosts — на сайты мудаков принципиально больше раза не хожу. Выходит навечно потеряли покупателя. Подумываю может взять методу на вооружение)
SpiritOfVox
07.11.2015 20:22Аудитории некуда течь. Допустим периодически у Юлмарта и его конкурентов есть кликабельный фон по краям. Это отвратительно, но им норм.
vp7
07.11.2015 16:48Несколько лет использую на FF связку AdblockPlus (с Element Hiding Helper) + Stylish, все фильтры настраиваю вручную.
Рекламы практически нигде нет. Даже youtube в ролики не вставляет рекламу, хотя для него настроку делал чёрт знает сколько времени назад.
Но самое интересное — поставил на другом компьютере adblock с авто-обновляемыми фильтрами и один известный сайт (см. теги к статье) сразу же стал ненавязчиво просить отключить адблок. Такое ощущение, что он использует нечто вроде honeypot'а для проверки активности стандартных правил адблока.
p.s. Давно жду появления сайтов, которые будут проверять факт отображения рекламы и блокировать показ содержимого сайта в случае, если рекламы нет. Вот тут бороться будет намного веселее.withkittens
07.11.2015 17:25+1Давно жду появления сайтов, которые будут проверять факт отображения рекламы и блокировать показ содержимого сайта в случае, если рекламы нет.
Лично мне такие уже попадались. Потребность получить содержимое была разовой, поэтому пришлось временно адблок отключить :(xirahai
07.11.2015 20:28Настоящее «веселье» начнется когда выпустят закон об уголовной ответственности за отказ от просмотра рекламы.
dtestyk
07.11.2015 20:44Полагаю, его принятие нарушало бы принципы когнитивной свободы.
Alexey2005
07.11.2015 21:40Думаете, это кого-то остановит? Рекламщики уже сейчас вопят о недополученной прибыли и подают в суд на разработчиков AdBlock.
А что им помешает объявить сайт творческим продуктом, не подлежащим изменению, и придумать какие-нибудь лицензионные соглашения — мол, заходя на этот сайт вы обязуетесь просмотреть рекламу. Не нравится реклама — не ходите на сайт. И ваша свобода не нарушается, т.к. вы сами выбираете, смотреть ресурс с рекламой или не смотреть данный ресурс вообще.
Ещё и пропаганду врубят на полную мощность по типу правоторговцев. Мол, из-за негодяев, блокирующих рекламу, разоряется куча сайтовладельцев, которые не могут содержать свой ресурс. И честный человек просто обязан рекламу смотреть, раз он хочет и дальше ресурсом пользоваться.xirahai
07.11.2015 23:50Физические объекты типа магазинов и т.д хоть и являются частной собственностью — тем не менее подчиняются правилам публичной оферты. Поэтому не имеют права препятствовать свободному входу и выходу любого посетителя и что-либо навязывать. В кибер-пространстве подобная оферта должна предоставлять как минимум аналогичные возможности в любой момент покинуть сайт (закрыть вкладку) без продолжения демонстрации нежелательного посетителю контента.
Любой творческий продукт как музыка или видео — тоже допускают свободу в плане вкл/выкл когда угодно, регулировки громкости, яркости, и промотки при наличии тех. возможности. Поэтому адблок можно считать еще одним подобным регулятором в руках пользователя. Ведь даже при просмотре ТВ зритель не связан договором, запрещающим выключать звук или отходить от экрана на время рекламных пауз.
И уж тем более абсурдно вменять ответственность за благоденствие или разорение владельцев сайта. Это все равно что обвинять уходящих без покупки посетителей из магазина в разорении его владельца.
dtestyk
08.11.2015 04:48заходя на этот сайт вы обязуетесь просмотреть рекламу
Можно поставить расширение, блокирующее все упоминания и ссылки на подобные сайты, как malware:
«несанкционированными» будут считаться действия программы, не одобренные явным образом пользователем этой программы
Если такой сайт и будет существовать, пользователь о нем не узнает.
Как крайний вариант — настраиваемое устройство, бьющее пользователя током, каждый раз, когда он обращает внимание на рекламу :)
resetnow
07.11.2015 17:36Яндекс.почта доставляет рекламу в том же HTTP-запросе, в котором идет тело письма, список писем и т. д. Блок вставляется с абсолютным позиционированием с классами, похожими на те, что встречаются в списке писем. В принципе, не страшно, т. к. реклама текстовая. Только я один раз случайно кликнул по рекламе одежды для полных женщин и теперь мне всегда показывают рекламу одежды для полных женщин.
DragonRU
09.11.2015 23:55Меня вот интересует — а почему «переходить на темную сторону» могут только рекламщики? Как вам такое решение — вместо того, чтобы исключать назойливую рекламу из страницы, подтолкнуть поставщика рекламы разорвать все отношения с этим клиентом? То есть, запустить скрипт, имитирующий максимально наглую и тупую накрутку кликов на этот баннер. Подозреваю, что у сайтовладельца могут возникнуть проблемы с доказательством, что этот скрипт запустил не он.
esc
10.11.2015 01:25Замахаетесь скрипты писать. Рекламщики уже закладывают довольно большой процент склика, если речь идет о назойливой рекламе. И кстати большенство «скриптов» и так отсекаются т.к. вебмастера тоже не гнушатся ими пользоваться.
Flash_X
caveeagle
Да, спасибо за подсказку, хороший вариант!
Хотя, тоже обходится «на раз» модификацией движка — добавлением случайного числа промежуточных элементов. Причем, похоже, скоро массово появятся всякие такие плагины для сайтов — по обходу адблока и других резателей рекламы.
Flash_X
во первых это, с большой вероятностью сломает вёрстку. во вторых, что-то вроде этого:
caveeagle
Обходится ненулевым содержимым, например невидимым пикселем. Для вёрстки — div высотой пару пикселей.
И да: адблок, которым пользуются большинство, на такое не способен (насколько я знаю)
Flash_X
если будет не нулевое содержимое, то это содержимое нужно будет как то скрывать, а значит либо появится признак у промежуточных элементов (например стиль display:none), либо будет общее для всех них правило. в любом случае это тупиковый вариант.
caveeagle
Да, но этот признак скроет «фальшивые» элементы. А как быть с самой рекламой? Конечно, можно написать скрипт: сначала скрыть фальшивые элементы, а потом скрыть элементы по их номеру. Но увы, адблок этого не умеет.
Да и написание столь сложных правил — подходит для гиков, каждый день заходящих на один и тот же сайт, и разбирающихся в CSS. А
есликогда таких сайтов станет много? =)dtestyk
Скрытие — не панацея, сайт может регулярно проверять, добавлены ли элементы в dom, показаны ли элементы, загружен ли в них контент, и что самое печальное, если нет — отсылать данные о подобном на сервер, где ситуацию проанализируют и внесут соответствующие правки.
NetBUG
Опять появятся кнопки прекращения выполнения скриптов.
Для экономии батарей устройств, в том числе.
Mad__Max
А потом посетитель сайта сильно удивляется (и справедливо злится) почему это загрузка всего 1й простой странички съедает несколько Мб интернет трафика, занимает несколько сотен Мб оперативной памяти браузером и грузит половину ядра процессора, хотя вроде ничего на ней даже не делаешь.
Хотя скорее всего к этому и идем…
dtestyk
Врядли, подобные проверки требуют интернет трафика, много оперативной памяти. А маленькая задача, запускаемая по таймеру практически не заметна для современных, в том числе и мобильных процессоров.
Скорее, к этому идут сайты, а не пользователи:Другое дело: невмеру продвинутый дизайн, непрактичная тяга к универсализации инструмента и cryptoUI: хитроумные полиморные вставки в DOM, переусложненные стили…
многие интересные сайты — минималистичны: pinterest.com, agar.io, editpad.org, develop.re, craigslist.org, bash.im, arxiv.org, echojs.com, nplus1.ru, gostash.it, neurowareblog.blogspot.com
vrmzar
Многие «интересные» сайты уже привели к тому, что пользователи вынужденны размещать текст и посты преимущественно текстового содержания в виде картинок.