Как работает защита от рекламы

Введение

Одной из основных функций Adguard является блокировка рекламы на интернет-сайтах. В этой статье мы детально опишем, как именно Adguard фильтрует рекламу.

Работа Adguard основана на использовании различных рекламных фильтров, задающих правила, основываясь на которых программа удаляет рекламу. Adguard может использовать множество различных рекламных фильтров. Часть из них мы создаем самостоятельно (подоробнее о них вы можете узнать на этой странице), часть фильтров создается энтузиастами.

Удаление рекламы

Механизм удаления рекламы зависит от того, какой продукт вы используете. Браузерные расширения полагаются на те возможности, которые предоставляют им сами браузеры. Adguard для Windows, macOS или Android работает независимо от вашего браузера, на основе совершенно другого алгоритма фильтрации. Ниже мы опишем все этапы фильтрации рекламы, которые использует Adguard.

Фильтрация кода страницы

Перед тем как страница будет получена браузером, Adguard обрабатывает ее код, удаляя элементы в соответствии с рекламными фильтрами. Таким образом браузер не узнает о том, что на странице вообще были эти элементы, и не будет пытаться их подгрузить.

Adguard: фильтрация кода страницы

Этот механизм используется только в Adguard для Windows, macOS и Android (при включенном высоком качестве фильтрации). Дело в том, что возможности браузерных расширений ограничены, и они не могут изменять код страницы до того, как ее обработает браузер.

Блокировка запросов

Браузер подгружает на страницу все необходимые элементы, основываясь на полученном коде. Adguard, основываясь на правилах фильтрации, может заблокировать загрузку рекламных элементов, например, баннеров или флэш-объектов.

Adguard: блокировка запросов

Инъекция CSS и Javascript

Не вся реклама может быть заблокирована на первых двух этапах. Иногда встречается такая реклама, которая внедряется в страницу динамически, с помощью Javascript, и не требует подгрузки дополнительных элементов, которые мы могли бы заблокировать.

CSS - это специальный язык, используемый для оформления веб-страниц. Стиль отображения элементов веб-страницы можно задавать с помощью правил. Под стилем мы понимаем цвет, шрифт, расположение, и даже видимость элемента. Именно это нас и интересует — мы же хотим скрыть баннер от ваших глаз. Javascript - это также специальный язык, который позволяет динамически изменять любой элемент на странице.

Постобработка страницы

Этот этап применяется только браузерными расширениями. Необходимость в нем обусловлена тем, что первый этап обработки (фильтрация кода страницы) для них недоступен. Во время постобработки браузерное расширение удаляет с веб-страницы все элементы, загрузка которых была заблокирована. Если мы не будем их удалять, вы можете увидеть на странице недогруженные элементы, например "битые" изображения.

Хотите нам помочь?

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