В материале описывается появившийся в девятой Opera встроенный блокировщик рекламы, его недостатки и методы их обхода средствами самого браузера.
Стандартный блокировщик Вызывается он из контекстного меню страницы, пунктом "Заблокировать содержимое". После нажатия на него, мы попадаем в режим блокирования, в котором можно заблокировать как конкретные элементы, так и использовать маски. Поясню на примере. В случае картинки с адресом «http://site.ru/reklama/ads.gif», обычный клик заблокирует все картинки в адресе которых присутствует «http://site.ru/reklama/», а Shift+клик заблокирует только саму картинку. Повторный клик, в любом случае, разблокирует элемент(ы).
Плюсы стандартного блокировщика достаточно очевидны. Простота использования, удобное управление и хорошая скорость (вплоть до десятка тысяч правил). Минусы конечно тоже есть. Это отсутствие готового списка правил, который бы сразу убирал большинство рекламы, отсутствие "белого списка" и известные сложности с блокированием js-рекламы и (в меньшей степени) флэша. Описанные ниже решения в той или иной степени избавляют от указанных недостатков. Но предварительно пара замечаний: - Opera не имеет команды позволяющей блокировать картинки и фреймы из контекстного меню, но это несложно реализовать с помощью скрипта,
- Скрипты можно заблокировать, добавив их адреса в Инструменты->Дополнительно->Заблокированное содержимое, Но для этого адреса нужно знать. Opera 9.50 сама показывает их в боковой панели "Инфо", а для предыдущих версий можно воспользоваться кнопкой Info
Urlfilter.ini Этот файл используется стандартным блокировщиком Opera. Формат его несложен - в разделе [exclude], в каждой строке прописывается блокируемый адрес. Поддерживаются маски: «?» для произвольного символа и «*» для любого количества произвольных символов. Простой текстовый формат позволяет без проблем добавить правила, сразу убирающие большинство рекламы. При закрытом браузере просто скопируйте правила из списка в ваш файл urlfilter.ini. Упомяну два готовых списка: Fanboy's AdBlock List - Достаточно большой (~1600 правил) и эффективный набор правил, основанный на списке фильтров Adblock Plus. Базовые правила блокировщика рекламы - Небольшой (и быстро работающий на любом компьютере) список основан на Tamil-овском и адаптирован к российским условиям. Фильтр в основном включает универсальные правила, наподобие «*/reclama/*». Используется в Opera AC.
Css-фильтры Исторически это первый способ блокирования рекламы, появившийся ещё в Opera 7. А так как Opera, в отличие от других браузеров не загружает скрытое (с помощью «content: ""» или «display: none») содержимое, то css-фильтры остаются вполне практичными и сейчас. К тому же их можно легко отключать (аналогичная возможность для urlfilter.ini появится только в Opera 9.50). Установка сводится к копированию файла (при закрытом браузере) в папку пользовательских стилей и выбору нужного стиля в меню Вид->Стиль. hidecertainsizes.css - Блокирует рекламу по размеру. url-block.css - Блокирует рекламу по адресу (используются маски из css3). anti-banner.css - Блокирует рекламу по адресу и размеру. В Opera AC используются все три.
Блокировка с помощью UserJS Пользовательские скрипты позволяют эффективно бороться с рекламой реализованной на JavaScript, число которой только увеличивается. Равно как и создавать самостоятельные блокировщики рекламы. Напомню, что для установки UserJS, нужно скопировать файл в вашу папку UserJS. Если её ещё нет, то создайте папку (например, Opera\userjs) и укажите её в Настройки->Дополнительно->Содержимое->Настройки Javascript. block-external-scripts.js - Блокирует загрузку скриптов с других доменов. Это убирает рекламу реализованную на js, например, Google AdSense или "всплывающие окна v2.0", наподобие этого. blockexternal.js - Кроме скриптов также блокирует картинки, фрэймы и флэшки находящиеся на других доменах. Имеется белый список, так что, например видео с YouTube, блокироваться не будет. Remove_it_permanently-for_Opera.js - Позволяет заблокировать любой элемент страницы, просто кликнув на него. Как должно быть ясно из названия, блокируются элементы навсегда, в отличие от известной кнопки Kill. Установка скрипта не совсем тривиальна, так что опишу её подробно. Во-первых, вы как обычно должны сохранить этот файл в вашу папку UserJS, после чего создать с помощью любого генератора кнопку с таким кодом (см. скриншот):
Execute program, "Полный_путь_к_файлу_Remove_it_permanently-for_Opera.js", "%u", "Блокировать", "Transfer Stopped" & Go to page, "javascript: opera.cleanHash()" Перетаскиваем кнопку на любую панель, перезагружаем страницу, чтобы подхватился скрипт и зажимаем Ctrl+Shift. Теперь при движении мышью, на странице будут выделяться её элементы. Кликаем на (не)нужный и жмём кнопку "Блокировать". Готово, элемент заблокирован. Если же вместо блокировки у вас открылся текстовый редактор с этим скриптом, отключите в нём (редакторе) открытие файлов с расширением «js». Они должны выполняться интерпретатором wscript.exe. Для того чтобы сохранить изменённую скриптом страницу на диск, можно использовать convert2phf.js
Блокировка флэша Для блокирования флэша, в основном используются два метода: глобальное отключение плагинов в меню по F12, выключающее, в том числе и флэш. И отдельный FlashBlocker который позволяет загружать флэшки кликом по иконке, которая показывается на их месте и имеющий "белый список". Оба способа предотвращают загрузку флэша, а не просто скрывают загруженный.
И напоследок, несколько конкретных рекомендаций. - Правила для urlfilter.ini обычно лучше чем css-фильтры, исключая тот случай, когда вам нужно часто отключать блокировку, чтобы например, посмотреть счётчики.
- Если вы часто посещаете сайты околоварезной направленности, то block-external-scripts.js или blockexternal.js вам явно пригодятся. К тому же они несколько повышают безопасность.
- Если вам нужна тонкая правка страниц, с удалением элементов разметки, то Remove_it_permanently-for_Opera.js это ваш выбор.
Отдельные утилиты В конце, коротко о внешних утилитах. Работают они как локальный прокси-сервер, подключенный между браузером и интернетом и фильтрующий трафик. Они могут быть полезны, например, если вы используете несколько браузеров и хотите иметь одинаковую блокировку рекламы во всех. AdMuncher - Простая в использовании и обеспечивающая очень хорошее качество блокирования утилита. Платная. HandyCache - Вообще говоря, это кэширующий HTTP прокси-сервер, предназначенный для ускорения загрузки страниц и уменьшения трафика, но он также имеет и некоторые возможности по блокированию рекламы, в связи с чем здесь и упомянут. Proxomitron - Универсальный web-фильтр, работающий по принципу прокси-сервера. Очень широкие возможности, но требуется достаточная квалификация для написания своих фильтров. Существует готовая сборка Proxomitron - Russian Edition. Privoxy - В известной степени это open source аналог Proxomitron-а с некоторыми дополнительными возможностями. Кроссплатформенный. © А. Рузанов, 23.04.2008
Источник: http://www.bit-center.ru/2index.php?option=com_content&task=view&id=14&Itemid=31 |