mirror of
https://github.com/AdguardTeam/AdguardKnowledgeBase.git
synced 2025-02-20 11:13:10 +08:00
How ad blocking works (RU)
+ RU text + EN text edits
This commit is contained in:
parent
c34eee138f
commit
527f4937f9
@ -9,10 +9,10 @@ visible: true
|
||||
* [Introduction](#introduction)
|
||||
* [General principle](#general)
|
||||
* [Filter lists](#filter-lists)
|
||||
* [Types of filtering](#types-filtering)
|
||||
* [Basic filtering](#vasic)
|
||||
* [Cosmetic filtering](#cosmetic)
|
||||
* [HTML filtering](#html)
|
||||
* [Types of filtering rules](#types-filtering)
|
||||
* [Basic filtering rules](#vasic)
|
||||
* [Cosmetic filtering rules](#cosmetic)
|
||||
* [HTML filtering rules](#html)
|
||||
|
||||
<a name="introduction"></a>
|
||||
|
||||
@ -36,7 +36,7 @@ At the core of any ad blocker lie filter lists, also called filters. Filters are
|
||||
|
||||
To better understand ad blocking, it's important to know the underlying principles of how filters work.
|
||||
|
||||
Filter rules, which filters consist of, aren't created automatically. They are a product of filter maintainers' work, both professionals and volunteers. They use browsers' developer consoles and other tools (like AdGuard's Filtering log) to determine what rule would block a particular ad or tracker. This is a very simplified description of the process, as some ads are especially hard to block, require multiple rules, multiple iterations, and the use of complex syntax.
|
||||
Filtering rules, which filters consist of, aren't created automatically. They are a product of filter maintainers' work, both professionals and volunteers. They use browsers' developer consoles and other tools (like AdGuard's Filtering log) to determine what rule would block a particular ad or tracker. This is a very simplified description of the process, as some ads are especially hard to block, require multiple rules, multiple iterations, and the use of complex syntax.
|
||||
|
||||
As a rule gets added to the filter, it's not for good. Ads change, ways to serve the same ads on the same websites change, and so filter rules have to change too. Sometimes rules get obsolete, sometimes a new ad appears, sometimes a new filtering rule is needed to block the same ad. Filters are often maintained by a single person, but even for a team of maintainers it's impossible to constantly monitor the entire web. This is why many ad blockers have tools to help users easily report any filter-related issues they encounter.
|
||||
|
||||
@ -51,32 +51,32 @@ Filters can do more than just block ads. There are filters that block tracking,
|
||||
|
||||
<a name="types-filtering"></a>
|
||||
|
||||
## Types of filtering
|
||||
## Types of filtering rules
|
||||
|
||||
There are many types of filtering rules that serve different purposes. Depending on the ad blocker you use, and especially on your OS, certain types of rules may not by supported.
|
||||
|
||||
<a name="basic"></a>
|
||||
|
||||
### Basic network filtering
|
||||
### Basic filtering rules
|
||||
|
||||
To be displayed on a web page or in an app, the ad has to be loaded from a server first. To do so, the browser or the app needs to send a web request. The most basic way of preventing an ad from appearing on your screen is to block this request so it never reaches the server, and thus there's no reply.
|
||||
|
||||
All AdGuard ad blocker products can block web requests (according to the active filter rules). This method is very effective at stopping the ad but shows some drawbacks, the most obvious one is that whatever place the ad was taking up will be left empty or occupied by an ad leftover.
|
||||
Basically, all AdGuard ad blocker products can block web requests (according to the active filter rules). This method is very effective at stopping the ad but shows some drawbacks, the most obvious one is that whatever place the ad was taking up will be left empty or occupied by an ad leftover.
|
||||
|
||||
<a name="cosmetic"></a>
|
||||
|
||||
### Cosmetic filtering
|
||||
### Cosmetic filtering rules
|
||||
|
||||
Every web page has a DOM ("document object model"), basically an HTML document that contains the page's structure and all its elements. Ads on the page are also elements and therefore reflected in the DOM. Ad blockers can remove parts of the DOM, and filtering rules help them understand which parts are ads and should be removed, and which shouldn't be messed with.
|
||||
|
||||
This method allows to hide whitespaces and ad leftovers mentioned above, but also to perform other, more complicated tasks.
|
||||
This method allows to avoid whitespaces and ad leftovers mentioned above, but also to perform other, more complicated tasks.
|
||||
|
||||
<a name="html"></a>
|
||||
|
||||
### HTML filtering
|
||||
### HTML filtering rules
|
||||
|
||||
In most cases, the aforementioned basic and cosmetic rules are enough to filter ads. But sometimes it is necessary to change the HTML code of the page itself before it is loaded. This is when you need filtering rules for HTML content. These rules allow to indicate the HTML elements to be cut out before the browser even loads the page.
|
||||
|
||||
This kind of rules is quite complicated and demands that the ad blocker possesses certain rights, so not all platforms support it. Such rules work only in AdGuard apps for Windows, Mac, and Android, and for AdGuard Firefox add-on.
|
||||
|
||||
> There are more types of filtering rules, but they require even more technical knowledge to understand how they operate. You will find the [exhaustive guide on filtering rules](https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters) in this article.
|
||||
> There are more types of filtering rules, but they require even more technical knowledge to understand how they operate. You will find the [exhaustive guide on filtering rules](https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters) in this linked article.
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 'Как работает защита от рекламы'
|
||||
title: 'Как работает блокировка рекламы'
|
||||
taxonomy:
|
||||
category:
|
||||
- docs
|
||||
@ -7,17 +7,98 @@ visible: true
|
||||
---
|
||||
|
||||
* [Введение](#introduction)
|
||||
* [Удаление рекламы](#filtering)
|
||||
* [Фильтрация кода страницы](#html)
|
||||
* [Блокировка запросов](#block)
|
||||
* [Инъекция CSS и Javascript](#inject)
|
||||
* [Постобработка страницы](#cosmetic)
|
||||
* [Хотите нам помочь?](#report)
|
||||
* [Общие принципы](#general)
|
||||
* [Фильтры](#filter-lists)
|
||||
* [Типы правил фильтрации](#types-filtering)
|
||||
* [Базовые правила](#vasic)
|
||||
* [Косметические правила](#cosmetic)
|
||||
* [HTML-правила](#html)
|
||||
|
||||
<a name="introduction"></a>
|
||||
|
||||
## Введение
|
||||
|
||||
В семействе блокировщиков AdGuard есть много продуктов для разных платформ, у кажого из них свои уникальные особенности. Но что объединяет их — они все блокируют рекламу и трекинг. Эта статья описывает, как устроена блокировка рекламы изнутри.
|
||||
|
||||
> В этой статье мы не касаемся DNS-фильтрации. Это альтернативный способ блокировать рекламу, со своими преимуществами и недостатками. Переходите по этой ссылке, чтобы [узнать больше про DNS-фильтрацию](https://kb.adguard.com/ru/general/dns-filtering).
|
||||
|
||||
<a name="general"></a>
|
||||
|
||||
## Общие принципы
|
||||
|
||||
В основе любого блокировщика лежат фильтры. Фильтры — это буквально списки правил, написанные в соответствии с определённым синтаксисом. Блокировщики могут понимать этот сложный синтаксис. Они интерпретируют правила и на их основе совершают те или иные действия с веб-трафиком: блокируют элементы, изменяют вид веб-страниц и т.д.
|
||||
|
||||
<img src="https://cdn.adguard.com/public/Adguard/Blog/manifestv3/adblockingworks_ru.png" style="max-width: 750px; border: 1px solid #efefef;">
|
||||
|
||||
<a name="filter-lists"></a>
|
||||
|
||||
## Фильтры
|
||||
|
||||
Чтобы лучше понимать, как работает блокировка рекламы, надо понимать основополагающие принципы работы фльтров.
|
||||
|
||||
Правила фильтрации, из которых состоят фильтры, не создаются сами собой. Они являются результатом кропотливой работы разработчиков фильтров, как профессионалов, так и волонтёров. Разработчики используют консоль браузеров и другие инструменты (такие, как Журнал фильтрации AdGuard), чтобы определять, какое правило нужно для блокировки конкретной рекламы или трекера. Это очень упрощённое описание процесса: в особо трудных случаях могут потребоваться сразу несколько правил, множество итераций и использование сложного синтаксиса, чтобы заблокировать элемент.
|
||||
|
||||
Даже когда правило попадает в фильтр, оно не остаётся там навсегда. Реклама может поменяться, способ подачи той же самый рекламы может поменяться, и правила фильтрации должны меняться вслед за ними. Иногда правила устаревают, иногда появляется новая реклама, иногда уже существующее правила требуется доработать. Поэтому фильтры требуют постоянной поддержки, и часто эту поддержку осуществляет всего один человек. Но даже в случае с целой командой разработчиков фильтров невозможно представить, чтобы они постоянно мониторили все сайты в интернете. Поэтому многие блокировщики имеют встроенный функционал, чтобы дать пользователям простой способ сообщать о пропущенной рекламе и любых других проблемах с фильтрами, с которыми они сталкиваются.
|
||||
|
||||
<img src="https://cdn.adguard.com/public/Adguard/Blog/manifestv3/filtersupdates_ru.png" style="max-width: 750px; border: 1px solid #efefef;">
|
||||
|
||||
Пользователи AdGuard [имеют возможность отправлять такие отчёты при помощи специальной веб-утилиты](https://reports.adguard.com/new_issue.html). Благодаря жалобам пользователей разработчики могут сфокусироваться на исправлении и дополнении фильтров, а не на поиске пропущенной рекламы по всей сети.
|
||||
|
||||
Фильтры могут гораздо больше, чем просто блокировать рекламные элементы. Существуют фильтры для блокировки трекеров, виджетов социальных сетей, раздражающих элементов (вроде уведомлений о cookie) и т.д. Разные пользователи могут выбирать разные комбинации фильтров, чтобы подстроить фильтрацию под свои нужды. Существуют специальные сайты, такие, как [filterlists.com](https://filterlists.com/), где собраны огромные базы всевозможных фильтров.
|
||||
|
||||
> Мы разрабатываем и поддерживаем [свой собственный набор фильтров](https://kb.adguard.com/ru/general/adguard-ad-filters), которые могут быть использованы как внутри AdGuard, так и с другими блокировщиками.
|
||||
|
||||
<a name="types-filtering"></a>
|
||||
|
||||
## Типы правил фильтрации
|
||||
|
||||
Существует множество видов правил фильтрации, служащих различным целям. В зависимости от используемого вами блокировщика и, в особенности, от вашей операционной системы, те или иные виды правил могут не поддерживаться.
|
||||
|
||||
<a name="basic"></a>
|
||||
|
||||
### Базовые правила
|
||||
|
||||
Чтобы быть отображённой на веб-странице или в приложении, реклама должна сначала быть загружена с сервера. Для этого браузер или приложение должен отправить веб-запрос. Самый простой способ предотвратить загрузку рекламы — заблокировать этот запрос, так что он никогда не попадёт на сервер, а значит и реклама не загрузится.
|
||||
|
||||
Практически все продукты из семейства AdGuard могут блокировать веб-запросы (в соответствии с активными правилами фильтрации). Этот метод является одним из самых эффективных в плане блокировки рекламы, но у него есть и недостатки. Самый очевидный из всех — на месте заблокированной рекламы может остаться пустое место.
|
||||
|
||||
<a name="cosmetic"></a>
|
||||
|
||||
### Косметические правила
|
||||
|
||||
Каждая веб-страница имеет так называемый DOM ("document object model" или "объектная модель документа"), по сути — HTML-документ, содержащий структуру страницы и всех её элементов. Реклама на странице тоже является элементом и, следовательно, отображается в DOM. Блокировщики могут убирать часть DOM, а правила фильтрации помогают им понять, какие именно куски DOM соответствуют рекламе и требуют удаления, а какие не стоит трогать.
|
||||
|
||||
Этот метод позволяет, например, избежать остатков рекламы, вроде пустых кусков страницы, но также и выполнять другие, более сложные задачи.
|
||||
|
||||
<a name="html"></a>
|
||||
|
||||
### HTML-правила
|
||||
|
||||
В большинстве случаев вышеупомянутых базовых и косметических правил оказывается достаточно, чтобы скрыть или заблокировать всю рекламу. Но иногда требуется изменить сам HTML-код страницы ещё до того, как она будет загружена. Для этого существуют правила фильтрации HTML-контента. Такие правила указывают блокировщику на элементы HTML, которые нужно вырезать из кода ещё до загрузки страницы браузером.
|
||||
|
||||
Это весьма сложный тип правил, и он требует от блокировщика наличия определённых прав, поэтому поддерживается не на всех платформах. HTML-правила работают в приложениях AdGuard для Windows, Mac и Android, а также в браузерном расширении AdGuard для Firefox.
|
||||
|
||||
> Есть и другие типы правил фильтрации, но для их понимания необходим ещё более высокий уровент технической подготовки. Вы можете найти [подробное описание правил фильтрации](https://kb.adguard.com/ru/general/how-to-create-your-own-ad-filters) в статье по ссылке.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Одной из основных функций AdGuard является блокировка рекламы на интернет-сайтах. В этой статье мы детально опишем, как именно AdGuard фильтрует рекламу.
|
||||
|
||||
Работа AdGuard основана на использовании различных рекламных фильтров, задающих правила, основываясь на которых программа удаляет рекламу. AdGuard может использовать множество различных рекламных фильтров. Часть из них мы создаем самостоятельно (подоробнее о них вы можете узнать на [этой странице](http://testkb.adguard.com/ru/general/adguard-ad-filters)), часть фильтров создается энтузиастами.
|
||||
|
Loading…
x
Reference in New Issue
Block a user