Фильтры ContentMaster:
Задаются и изменяются в Редакторе.- Не фильтровать страницы с URL
- отключает СМ для указанных ресурсов
- Интерактивное удаление
- удаляет HTML-элементы, ранее выбранные пользователем в интерактивном режиме
Правило: регулярное выражение, задающее блокируемый URL. Перед применением от запрашиваемого URL отсекается лидирующее 'http://www.', и только после этого он сопоставляется с данным регулярным выражением. Поэтому, например, правило http://yandex\.ru не заблокирует запрос к http://yandex.ru/, а yandex\.ru - заблокирует.
Referrer: регулярное выражение, задающее URL источника запроса
Только для сторонних доменов:Включение опции ограничивает применение правила. Оно не будет применяться для запросов к домену, совпадающему по второму уровню с доменом источника HTTP-запроса, определяемым полем 'Referer' запроса. Так, при включенной опции Правило /banner/ не сработает для auto.yandex.ru/banner/, если источником запроса является weather.yandex.ru/, но сработает при источнике запроса google.ru/
Исключение: При включении опции правило меняет свое назначение с блокирующего на деблокирующее: заданный URL становится защищенным от блокирования другими правилами рассматриваемого фильтра, а таже правилами других фильтров ContentMaster, HandyCache, AdMuncher и AdBlockPlus, блокирующими по URL.
Через фильтр проходит каждый HTTP- и SOCKS5-запрос. Если запрошенный URL соответствует регулярному выражению, заданному в поле Правило, то запрос блокируется с выводом сообщения "Блокировано СМ" в колонку "Правила" монитора НС. При наведении указателя мыши на эту надпись во всплывающем окне выводится информация о сработавшем правиле
Если запрос не заблокирован, фильтр продолжает сопровождать его дальше. Если выясняется, что запрошенный ресурс является HTML-, JS- или CSS-файлом, фильтр анализирует его содержимое. В HTML вырезается содержимое HTML-элементов, в открывающем тэге которых найден заданный URL. К примеру, <a href="site.com">Содержимое элемента</a>. В JS найденный URL заменяется на 'javascript://', или удаляется выражение, содержащее этот URL. Этим блокируется обращение из ява-скрипта к этому URL. В CSS удаляются параметры, содержащие указанный URL.
Правило: блокируемый IP-адрес, список или диапазон IP-адресов. Примеры:
101.85.22.34 - блокирует указанный IP-адрес
101.85.22.34, 2.12.13.14, 34.231.15.67 - блокирует указанные IP-адреса
101.85.22.34-101.85.22.243 - блокирует IP-адреса 101.85.22.34, 101.85.22.35, ..., 101.85.22.243
Границы диапазона должны различаться только последним (четвертым) числом IP-адреса.
URL: Ограничивает действие правила. Правило будет работать только при обращении к указанным URL (регулярное выражение). Если на блокируемом IP-адресе есть домены, не относящиеся к нежелательным, то их можно перечислить здесь. Например, значение \A(?!.*?(?>site1\.com|site2.com)) не даст сработать Правилу для доменов site1.com и site2.com.
Через фильтр проходит каждый HTTP- и SOCKS5-запрос. Если запрошенный IP соответствует заданному в поле Правило, то запрос блокируется с выводом сообщения "Блокировано СМ" в колонку "Правила" монитора НС. При наведении указателя мыши на эту надпись во всплывающем окне выводится информация о сработавшем правиле
Владельцами нежелательных сайтов для затруднения их блокирования иногда используется такая стратегия: Выкупается у провайдера в долгосрочное пользование IP-адрес или несколько IP-адресов. На них организуется множество (сотни) разных доменных имен, ведущих на самом деле к одному и тому же нежелательному содержимому. При этом эти доменные имена периодически заменяются новыми.
Пусть, например, нужно блокировать тизерную рекламу TeaserNet, которая, как мы увидели в мониторе НС, идет через обращение к домену nkredir.com. Проведя небольшие исследования, мы узнаем, что nkredir.com располагается на IP-адресе 88.85.93.34. На этом же IP живут сотни других доменов (almosto.com, campeut.com, ...) этой рекламной сети, при этом иных (не относящихся к нежелательным) доменов среди них нет. Можно создать сотни правил "Удаление элементов и блокирование по URL", блокирующих каждый из этих доменов. Это трудоемко и сильно увеличит списки правил. Но самое важное - на этом IP периодически появляются все новые домены этого же рекламного назначения. И созданные сотни правил все равно позволят проходить ненужной нам рекламе теперь уже с новых доменов.
Фильтром "Блокирование запросов по IP" мы блокируем все обращения к названному IP. Поэтому одним правилом "88.85.93.34" мы не только перекроем те сотни правил "Удаление элементов и блокирование по URL", но и гарантируем блокировку любых новых доменов, создаваемых тизерной сетью на этом IP-адресе в будущем.
Исследовав эту тизерную сеть дальше, можно увидеть, что такая же стратегия используется TeaserNet еще на IP-адресе 88.85.93.35. Чтобы не писать два отдельных правила, достаточно указать диапазон адресов "88.85.93.34-88.85.93.35". В этом случае блокироваться будут все IP-адреса из этого диапазона.
Фильтр работает гораздо быстрее, если в HC включен DNS-кэш с максимальным числом записей не менее 10000.
Правило: регулярное выражение, задающее открывающий тег HTML-элемента. Правило применяется к тегу, у которого отброшены начальный знак '<' и конечный '>'. Например, правило <div.*?title="Counter" не вырежет HTML-элемент <div title="Counter"> в то время как правило \Adiv.*?title="Counter" - вырежет
URL: правило будет работать только для URL, заданных регулярным выражением
Правило: блокируемый параметр class или id (регулярное выражение).
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
С регулярным выражением сопоставляются параметры 'class' и 'id' HTML-элементов. При срабатывании вырезается содержимое всего HTML-элемента. Например, правилом ad-ban вырежется содержимое элемента <div class="ad-banner">...</div>
Если HTML-элемент относится к нескольким классам (они заданы в параметре 'class' через пробел), то фильтр применяется к каждому из них в отдельности. Например, правило \Aadvert-panel вырежет содержимое элемента <a class="r15 advert-panel">...</a>
Правило: часть обрамляющего комментария (регулярное выражение).
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
Фильтр ищет пару удовлетворяющих Правилу комментариев. Один из них должен открывать блок HTML-элементов, а другой - закрывать его. Весь найденный блок вместе с обрамляющими его комментариями вырезается.Например, правило Banner вырежет HTML-блок <!-- begin Banner -->...<!-- /Banner -->
Закрывающий комментарий должен иметь тот же родительский HTML-элемент, что и открывающий.
Например:
<!-- Banner --> Text <!-- /Banner --> - сработает
<!-- Banner --> <div> Text </div> <!-- /Banner --> - сработает
<!-- Banner --> <div> Text <!-- /Banner --> </div> - НЕ сработает
Правило: искомый фрагмент скрипта (регулярное выражение).
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
Длина: (байт). Правило применяется, только для скриптов, меньших установленной длины.
Поиск ведется в HTML (внутри элементов <script>, параметров on... в тэгах, ссылок вида "javascript://...") и в файлах ява-скриптов. При срабатывании правила весь ява-скрипт вырезается.
Правило: Размер задается в пикселях в формате ДЛИНАxШИРИНА. Пример: 88x31
Если ДЛИНА (ШИРИНА) не заданы, то удаляются элементы с любым значением этого параметра. Примеры: 320x 0x
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
СМ пытается найти элементы указанного размера и вырезает их.
Правило: искомый фрагмент (регулярное выражение). Может содержать специальную конструкцию '(?&html_element)', которая соответствует целому HTML-элементу, начинающемуся с текущей позиции.
Примеры:
<!--Яндекс\.Директ-->\s*+<script.*?</script> удалит (заменит) скрипт, следующий за комментарием "Яндекс.Директ"
(?=<a\b(?>.*?>)\s*+<img[^>]*?\ class="banner-20")(?&html_element) удалит (заменит) HTML-элемент <a>, содержащий вложенный элемент <img> с атрибутом class="banner-20".
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
Замена: строка, на которую заменяется каждый найденный фрагмент. Если этот аргумент опущен, то найденные фрагменты будут удаляться. В строке могут использоваться конструкции PCRE '\n' (n=0..9) и '\k<name>'. Для обозначения символа с шестнадцатиричным кодом 'hh' можно использовать конструкцию '\xhh', где 'hh' - шестнадцатиричные цифры. К примеру, '\x61' соответствует символу 'a'.
Можно также задать lua-функцию, которая будет вызвана при нахождении искомого текста. Например, при нахождении на странице слов порнографической тематики можно автоматически записать время, пользователя, адрес страницы и другие параметры, выдать предупреждающее сообщение, просигнализировать звуком и т.п. Для этого строка замены должна выглядеть так: "## Имя функции".
Content type: строка, определяющая в ответах какого типа производится поиск. В ней через запятую можно указать Content-Type ответа. Если она пуста, то правило работает в HTML-файлах. Для указания на любой из типов html (text/html, application/xhtml+xml и др.) можно писать 'html'; точно так же для указания на любой из типов ява-скриптов можно писать 'js'.
Правило:Стили CSS, подлежащие вставке на HTML-страницу. Можно указать один стиль CSS:
*[class*=AdFox],*[id*=AdFox]{display:none !important;}
или несколько:
body{background:url() !important;} div{cursor:auto !important;}
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
Фильтр добавляет стили CSS на страницу путем вставки в ее начало элемента <style>
Правило:Ява-скрипт, подлежащий вставке на HTML-страницу. Например,
var showBranding = function(){};
URL: ограничивает действие правила. Оно будет работать только если текущий URL удовлетворяет заданному здесь регулярному выражению.
Фильтр добавляет ява-скрипт на страницу путем вставки в ее начало элемента <script>