Выборочная фильтрация контента в веб-браузерах

Обычно задача веб-браузера состоит в том, чтобы загружать и отображать содержимое – устанавливать сетевое соединение, посылать HTTP-запросы, получать веб-страницу, загружать и выполнять все ее содержимое. Эти операции ставят нетривиальные задачи, и поэтому веб-браузеры относятся к наиболее сложному программному обеспечению, которое большинство из нас регулярно использует. Однако есть отдельная задача (высокого уровня!), касающаяся выборочного не исполнения (фильтрации) контента.

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

Примеры и мотивации

Разные пользователи демонстрируют интерес к мириадам различные типов блокировки содержимого, и не все имеют похожие цели.

Некоторые типы блокираторов имеют десятилетнюю историю и используются очень широко (например, блокираторы всплывающих окон), в то время как другие применяются значительно реже или только в интересах узкой группы пользователей. Читая комментарии к этому блогу, легко понять, что некоторые хотят блокировать файлы cookies, плагины или элементы ActiveX, определенные типы контента (вредоносное ПО, контент только для взрослых), «охотников» за частными данными (web beacons), рекламу, загрузки файлов или контент, который трактуется как «раздражающий» (т.е. выскакивающие окна, мигающие элементы). Пользователи могут иметь различные причины, по которым они хотели бы блокировать специфичное содержимое: более высокая производительность, улучшенная безопасность, увеличенная надежность и стабильность, неприкосновенность частной жизни, увеличенное время работы от батарей, предпочтения организации интерфейса, юридические или надзорные требования (родительский контроль), уменьшение расхода полосы пропускания и многие другие.

Однако с другой стороны интернет-соединения веб-провайдер может захотеть, чтобы контент блокировался, а может, и нет. И причины для этого могут быть разнообразны: выгода (прямая или косвенная), аналитика сайта и понимание клиентов и рынков, предсказуемость и надежность пользовательского интерфейса, злонамеренность и многое другое.

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

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

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

Одна тенденция представляется совершенно ясной – со временем становится необходимым интегрировать в браузер функциональность, которая была доступна в виде надстроек. Еще в 2002 я выпустил довольно успешную надстройку для блокировки всплывающих окон. PopupPopperоставался популярным в течение нескольких лет, пока не вошел в состав IE6 в Windows XP SP2, в качестве интегрированного средства блокировки.

Механизмы блокировки содержимого

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

Эвристики могут отличить cookie от изображения в контенте некоторой веб-страницы, но они не в состоянии определить назначение или использование каждого из этих объектов. Был ли установлен файл cookie «ps» для того, чтобы мне не нужно было запоминать логин или он предназначен для слежения за мной… или справедливо и то и другое? Изображение на странице является фотографией новой машины моего брата, или это реклама, или это веб-маячок (web beacon), чтобы следить за мной? В лучшем случае, эвристика может догадываться. Преимущество эвристического блокиратора состоит в том, что он способен блокировать объекты, с которыми до сих пор не встречался, поскольку они похожи на то, что пользователь старался заблокировать; его недостаток заключается в том, что он может дать осечку.

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

Имея в виду это различие, давайте взглянем на то, как эвристические и модерируемые блокираторы реализуются сегодня.

Существует три основные категории блокираторов контента: блокираторы сетевого уровня, перенастройка браузера/фильтрация и надстройки браузера для блокирования контента.

Каждая категория имеет свои сильные и слабые стороны, описанные ниже.

Блокирование на сетевом уровне

Есть несколько способов блокировать контент на сетевом уровне. Наиболее общие – это использование HOSTS-файла, или фильтрация контента с помощью прокси. Есть и ряд других, менее общих подходов, включая использование маршрутизаторов для блокирования некоторых видов контента (большинство маршрутизаторов Linksys могут быть настроены, например, на блокирование Java, установщиков ActiveX и файлов cookie). Крупные организации или сети с ограниченной полосой пропускания, например, могут блокировать контент на шлюзе:

clip_image001

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

Файл HOSTS

Блокирование с помощью файла HOSTS работает путем изменения способа, которым ваш компьютер преобразует веб-адреса сайтов на их действительные адреса. Более точно, запрос на информацию по определенному адресу (имени хоста) подобного «www.example.com» направляется по другому адресу, возможно на ваш локальный компьютер (или «127.0.0.1»). Когда ваш браузер послушно пытается загрузить определенный контент, он пытается получить его из места, которое не отвечает. Так как запрос выполняется по «неверному номеру», если использовать телефонную аналогию, то при этом невозможно вернуть какой-либо веб-контент, и таким образом осуществляется блокировка.

По определению файл HOSTS является редактируемым списком блокировки, который нелегко сгенерировать с помощью компьютера. Однако многие организации публикуют файлы HOSTS для блокирования определенных сайтов; один из самых известных таких файлов находится здесь.

Имеется и ряд недостатков такого подхода:

Этот способ непрост для большинства пользователей. Изменение файла HOSTS на Vista и более старшей версии системы требует повышения уровня прав до административного и редактирования скрытого системного файла в каталоге windows\system32\drivers\etc.

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

Этот способ не работает, если вы подключены к интернет через прокси-сервер (т. е. в школах и многих организациях). Когда вы находитесь за прокси, прокси-сервер выполняет DNS-поиск от вашего лица, а локальный файл HOSTS игнорируется.

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

Это легко определяется. Так как браузер будет выдавать ошибку (например, событие OnError) когда контент не может быть загружен, JavaScript может определить блокирование и отреагировать.

Фильтрация с помощью прокси

Когда вы настраиваете браузер на использование прокси-сервера, фильтрующего содержимое, прокси может просто отклонить возвращение определенного контента или возвратить заменяющий файл вместо содержимого сервера. Так как прокси имеет в своем распоряжении полный URL содержимого, он в состоянии блокировать имена файлов «tracker.js» на каждом сервере, или вернуть пустое изображение по запросу «/adult/*.gif». Такая избирательность может оказаться полезной, поскольку позволяет эвристикам действовать по многим именам хостов и позволяет блокировать подмножества контента данного хоста в случае, когда сайт предлагает желательный и нежелательный контент.

Недостатки такого подхода:

Настройка браузера. Браузер должен быть настроен на использование прокси; большинство браузеров перенимают настройки прокси WinINET/IE, но не все.

Производительность. Трафик прокси несет некоторые накладные расходы, особенно потому, что браузеры ограничивают число одновременных соединений с прокси.

Большинство не работает с протоколом HTTPS. Только прокси, настроенные на расшифровку трафика HTTPS, могут блокировать файлы, передаваемые по HTTPS. Остальные могут лишь предотвращать HTTPS-соединения с запрашиваемыми серверами.

Доступен ряд прокси-серверов, выполняющий фильтрацию контента. Два наиболее популярных Internet JunkBuster Proxy и Proxomitron больше не развиваются. Privoxy и другие до сих пор разрабатываются, а умельцы могут поэкспериментировать или приспособить обычное расширение, блокирующее контент для программы Fiddler.

Блокираторы, основанные на прокси, могут применять либо эвристический метод, либо метод модерирования, или оба эти подхода.

Блокирование через настройку браузера

Одним из самых простых способов блокирования нежелательного контента является использование существующих возможностей, встроенных в браузер. Большинство браузеров позволяют полностью отключить определенные возможности, в то время, когда другие дают возможность контролировать их для каждого сайта индивидуально. Interner Explorer предоставляет следующие возможности блокирования нежелательного контента:

Настройка зон

Индивидуальная настойка элементов ActiveX для каждого сайта

InPrivate Filtering

Контроль за файлами cookie

InPrivate Browsing/ Уничтожение истории просмотров

Блокировка всплывающих окон

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

Настройка зон

Internet Explorer использует концепцию зон безопасности для решения, какой уровень привилегий может использовать контент данного сайта. Настраивая уровень доступа по зонам и выбирая, к какой зоне отнести данный сайт, пользователь получает мощное средство контроля за тем, что сайт может делать.

Существует множество возможных вариантов настройки, но самый простой – поместить сайты, контент которых должен блокироваться в зону ограничиваемых сайтов (Restricted Sites Zone). Контент этой зоны выполняется с очень жесткими ограничениями и не может посылать и запоминать cookies, обслуживать сценарии, запускать сценарии с других сайтов, загружать элементы ActiveX и файлы. Например, если вы поместите *.google-analytics.com в Restricted Sites Zone, сценарий с этого сервера не сможет выполниться на любой другой странице и cookies с этого сайта не будут посланы и запомнены.

Интерфейс для добавления сайтов в зону ограничений прост и может контролироваться групповой политикой.

Однако использование зон для ограничения нежелательного контента имеет ряд недостатков:

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

Содержимое ограничивается, но не обязательно блокируется. Например, сценарий с сайта из ограниченной зоны не запустится, но изображения все равно будут показаны. Cпециализированная технология слежения сможет связать HTTP-запрос с пользовательским событием без посылки файлов cookies.

Ограниченное масштабирование. Интерфейс ограниченной зоны и структуры данных спроектированы для персонального использования, а не списков сайтов во всеинтерновском масштабе. Списки объемом, превышающим несколько сотен сайтов, приведут к замедлению загрузки браузера. Например, один из продуктов автоматически добавляет 10000 сайтов в ограниченную зону, что значительно влияет на производительность Internet Explorer.

Обычно нас просят преобразовать зону ограниченных сайтов в «зону черной дыры» не имеющую каких-либо разрешений, включая разрешения на выполнение сетевых запросов. Это не сработает, потому что блоки IFRAMES , имеющие ограничения по безопасности, например, используют установки зоны ограничений, и они должны иметь возможность визуализировать содержимое (иначе они окажутся неэффективны). Другое предложение – создать новую зону исключительно для блокирования контента. К сожалению, это сложно сделать, потому что многие программы и платформы жестко запрограммированы на существующий набор зон и поведут себя очень плохо, если появится новая зона.

Индивидуальная настойка элементов ActiveX для каждого сайта

Пользователи, желающие управлять Flash, Silverlight, Java или другими подключаемыми модулями Internet Explorer могут воспользоваться возможностью IE8 Per-Site ActiveX для задания того, какие сайты могут отображать подобный контент. Удалив символ * из списка разрешенных сайтов для надстройки, пользователь получит напоминание при попытке любого сайта воспользоваться этой надстройкой. Пока пользователь не внесет сайт в список одобренных сайтов, надстройка не заработает.

Недостатки использования механизма индивидуальной настройки элементов ActiveX:

Раздражающий интерфейс. Из-за того, что на информационной панели отсутствует пункт «Никогда для этого сайта», пользователи всегда будут видеть это напоминание для любого сайта, для которого надстройка запрещена.

Управляемость. Интерфейс пользователя для списка разрешенных сайтов скрыт глубоко в панели Manage Add-ons, и также не предоставляет варианта «Никогда». Этот интерфейс не позволяет пользователям удалять индивидуальные сайты из списка разрешенных; единственная возможность – очистить весь список.

Тем не менее, это может быть мощным средством ограничения сайтов, которым разрешено использовать данную настройку браузера с большей избирательностью, чем унаследованные альтернативы «Разрешено/Запрещено», определяющие, может ли данный элемент ActiveX вообще запускаться.

InPrivate Filtering

C помощью функции InPrivate Filtering Internet Explorer может обнаруживать и, как вариант, блокировать контент третьих сторон, помогая пользователям контролировать просматриваемую информацию. По выбору пользователя это можно делать как в эвристическом, так и в модерируемом режиме.

Содержимое третьих сторон, которое появляется на многих сайтах, может быть заблокировано или разрешено по решению пользователя. Если пользователь выбирает блокирование определенного контента, то Internet Explorer уже более не обращается по соответствующему URL, когда он присутствует на странице в виде содержимого третьей стороны. Пока пользователь не посетит этот URL непосредственно, IE не будет переходить по этому URL для получения содержимого оттуда. Это значительное облегчение для людей, беспокоящихся о рисках утечки информации на сайты, потенциально занимающиеся слежкой. По умолчанию, режим InPrivate Filtering выключен, и пользователю необходимо включить его каждый раз при запуске браузера.

InPrivate Filtering предоставляет возможность импортирования списков блокируемых сайтов, которая популярна в некоторых кругах.

Пользователь может настроить InPrivate Filtering на автоматическую блокировку контента от третьих сторон при достижении определенного порога использования. Например, можно настроить IE на блокирование постороннего содержимого, используемого пятью или более несвязанными сайтами.

Недостатки механизмов эвристического или автоматического блокирования очевидны:

Нет способа определения намерений. Браузер не может определить является или нет данный кусок контента (например, элемент «поделись этой ссылкой!») средством слежения за вами или он совершенно безобиден. Следовательно, контент может быть заблокирован как «возможный шпион» без оснований.

Нарушение работы разделяемых репозитариев. Крупные компании, такие как Microsoft или Google, содержат популярные библиотеки JavaScript, такие как JQuery, на быстрых CDN-серверах и приглашают другие веб-сайты пользоваться этими библиотеками. Это увеличивает производительность (т. к. весьма вероятно, что эта библиотека окажется в кэше пользователя), но проблема в том, что такая библиотека неотличима от средства слежения. Если необходимый сценарий автоматически заблокируется, страница, на которой он появляется, будет разрушена.

Функция InPrivate Filtering управляется по зонному принципу – когда этот режим включен, фильтрация применяется лишь к сайтам, входящим в зоны Internet и Restricted Zone.

Управление файлами cookie

Как я писал в своем блоге в июне, Internet Explorer предлагает крайне богатый набор возможностей для управления файлами cookie, который позволяет пользователям задавать как простые параметры, вроде «Блокировать все cookies с сайта example.com», так и расширенные, например, «Сбросить все cookies третьих сторон в конце сессии браузера». Cookies также разрешаются по зонному принципу. По умолчанию, файлы cookies безусловно разрешены в зонах «Локальный компьютер» и «Интранет», контролируются в зонах «Интернет» и «Trusted Zone», и полностью блокируются в зоне «Restricted sites».

InPrivate Browsing/ Уничтожение истории просмотров

Механизмы InPrivate Browsing и уничтожение истории просмотров могут использоваться для предотвращения запоминания нежелательных файлов cookies или иной информации. Новый флажок «Уничтожить историю просмотров при выходе» в IE8 позволяет пользователю избавиться от ненужного контента в конце каждой сессии браузера. Параметр «Сохранить данные любимых сайтов» позволяет сохранить желательный контент, в то время как все остальное стирается.

Блокиратор всплывающих окон

Блокиратор всплывающих окон появился в Internet Explorer 6 на Windows XP SP2. Он включает ряд установок, которые можно найти внутри диалога Tools > Internet Options > Privacy. Эти настройки хранятся в ключе реестра HKCU\Software\Microsoft\Internet Explorer\New Windows\, включая список сайтов, которым разрешено запускать всплывающие окна. Блокиратор всплывающих окон дифференцирован по зонам и по умолчанию применяется к сайтам в зонах «Internet», «Trusted sites» и «Restricted sites».

Блокирование через надстройки

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

Автоматическое блокирование

Автоматические блокираторы стремятся внедриться в подсистему загрузки браузера и следят за запросами нежелательного контента; такие запросы пресекаются или в ответ возвращается локальный заполнитель. Менее часто такие надстройки сканируют DOM текущего документа и удаляют контент, соответствующий некоторым шаблонам (например, изображениям в DIV-тега с именем «adultcontent»).

Надстройки, блокирующие контент включают в себя Simple Ad-Block, IE7Pro, AdBlockIE, Adblock Pro, а также многие другие. Недостатки этих надстроек общие для всех браузеров: производительность и надежность. Многие из них используют механизмы, не соответствующие документу IE Add-on Guidelines and Requirementsи зависят от неподдерживаемых и легко ломающихся кусков устаревшего 16-разрядного кода API частных браузеров.

Ручное блокирование

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

Toggle Flashи дюжины ему подобных просто переключают установку «Enabled/Disabled» для флэш-объекта.

Можно настроить сценарий для надстройки Ralph Hare’s Mouse Gestures так, чтобы покачивание мышью удаляло изображения и элементы ActiveX с текущей страницы.

Подобные сценарии существуют как расширения контекстного меню или букмарклеты.

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

Эволюция механизмов блокировки

Каждый механизм блокировки, описанный выше, имеет один или несколько недостатков.

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

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

По мере развития веб-сайтов оба механизма – модерируемые списки и эвристические алгоритмы могут стать менее эффективными.

Блокирование контента и эволюция сайтов: конкретные случаи

Давайте посмотрим, как сайты и один конкретный механизм блокировки контента (блокиратор всплывающих окон) реально эволюционировал в вебе. История всплывающих окон и их блокираторов хороший пример, поскольку, несмотря на то, что сейчас всплывающие окна и встречаются сравнительно редко, раньше они использовались повсеместно.

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

clip_image002

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

clip_image003

Сейчас такой отклик сайта не является общим, но, тем не менее, многие сайты зарегистрируют, что контент, который они предназначили для доставки, не был доставлен. Сайт может иметь любую из целого ряда причин – возможно художественную целостность содержания или договорные обязательства. Как и большинство проблем в интернете, здесь имеется множество точек зрения: потребителей, сайта, безопасности, доступности, ИТ и т.д.

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

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

Например, когда заходите на сайт онлайн комиксов Dilbert , вы, вероятно, увидите уведомление о том, что всплывающие окна заблокированы. Если вы потом щелкните на любом месте страницы, JavaScript-файл, пришедший с сайта casalemedia.com отреагирует на этот щелчок, порождая рекламу, предоставляемую сетью доставки контента. Это всплывающее окно не блокируется, так как щелчок инициирован пользователем, который временно отключил блокиратор всплывающих окон, работающий по умолчанию. Хотя пользователь имеет возможность блокировать рекламные объявления по имени хоста (optmd.com), с сайта будет блокироваться только содержимое всплывающего окна, а не само всплывающее окно. Только изучение сетевого трафика позволит сообразительному пользователю определить, какой сайт необходимо блокировать, чтобы предотвратить выполнение с помощью JavaScript обхода блокатора всплывающих окон. Хотя блокиратор всплывающих окон IE можно настроить на реальную блокировку (а не на изъятие) всплывающих окон, которые являются результатом действий, инициируемых пользователем (Tools > Options > Privacy > Settings > Blocking Level: High), эта настройка делает блокиратор гораздо более обременительным для сайтов, которые полагаются на механизм всплывающих окон, фактически запрашиваемых пользователем.

Аналогично, некоторые сайты реагируют на блокираторы контента, специализирующиеся на рекламе. Например, один из пяти ведущих сайтов интернет-почты определяет, была ли заблокирована реклама, и, если это так, он просто старается загрузить другую рекламу с другого рекламного сервера, перебирая пять или более разных рекламных провайдеров, надеясь найти неблокируемый хост. Аналогично, один из самых популярных онлайновых рекламодателей фиксирует, когда реклама на страницах блокируется и вместо того, чтобы показать пользователю следующую страницу многостраничной истории, сайт выводит полностраничную промежуточную рекламу с таймером обратного отсчета. Хотя эта реклама также может быть заблокирована, а сама страница обычно не блокируется, приводя в результате к ухудшению восприятия общей картины пользователем. Некоторые владельцы небольших сайтов были настолько разгневаны использованием блокираторов рекламы в Firefox, что просто банили всех пользователей Firefox, переводя их на пространную тираду. По результатам последних исследований, одна фирма предлагает рекламу как часть теста CAPTCHA – блокирование рекламы означает, что вы не можете использовать сайт.

Цикл модернизации между браузерами и сайтами может занять много лет. Например, только относительно недавно команда Outlook Web Access представила версию, которая предотвращает разрушение блокираторами всплывающих окон интерфейса пользователя, и многие другие веб-приложения также ввели подобные обновления. Это особенно беспокоит, потому что незаблокированные всплывающие окна вызывают обновления страницы (любой сценарий JavaScript, пытающийся манипулировать всплывающим окном, не сможет запуститься, будучи заблокированным, так что требуется обновление страницы, чтобы убедиться, что сценарий отработал успешно). Обновление страниц многих веб-приложений таким образом может привести к потере важной информации о состоянии.

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

Эрик Лоуренс.