Обход блокировок adblock, и блокировка обхода блокировки

в 16:20, , рубрики: adblock, mozilla, блокировка рекламы, браузеры, обход блокировка баннеров, реклама, Софт, хабрахабр

В статье рассматривается один из эффективных методов противодействию adblock, и обход этого метода. Этот круг вечен – но, похоже, рекламщики вырвались вперёд!

Обход блокировок adblock, и блокировка обхода блокировки - 1

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

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-мастеров: можно просто добавлять ненавязчивую рекламу, тогда пользователи намного лояльнее начнут относиться к ней.

Автор: caveeagle

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js