Как обрабатывать блокировку сторонних файлов cookie в браузерах
Многие браузеры блокируют сторонние файлы cookie, то есть файлы cookie для запросов к любым доменам, кроме указанного в адресной строке браузера. Эти файлы cookie также называются файлами cookie между доменами. Такая блокировка прерывает неявный поток и требует применять новые шаблоны проверки подлинности для успешного входа пользователей. На платформе удостоверений Майкрософт мы используем поток авторизации с ключом проверки для обмена кодом (PKCE) и маркерами обновления для сохранения пользователей в системе после входа в случае, когда сторонние файлы cookie блокируются.
Что такое интеллектуальная защита от слежения (ITP)?
В Apple Safari есть функция защиты конфиденциальности по умолчанию, которая называется интеллектуальной защитой от слежения или ITP. ITP блокирует сторонние файлы cookie, которые нужны для выполнения запросов между доменами.
Общая форма отслеживания пользователей выполняется путем загрузки iFrame на сторонний сайт в фоновом режиме и использования файлов cookie для сопоставления пользователя через Интернет. К сожалению, этот шаблон также является стандартным способом реализации неявных потоков в одностраничных приложениях. Браузер, который блокирует сторонние файлы cookie для защиты конфиденциальности пользователей, также может блокировать функциональные возможности SPA.
Сторонние файлы cookie блокируются для повышения конфиденциальности пользователей не только в Safari. Храбрые блокируют сторонние файлы cookie по умолчанию, и Chrome объявил, что они начнут блокировать сторонние файлы cookie по умолчанию в будущем.
Решение, описанное в этой статье, работает во всех этих и других браузерах с заблокированными сторонними файлами cookie.
Общие сведения о решении
Чтобы продолжить проверку подлинности пользователей в одностраничных приложениях, их разработчики должны использовать поток кода авторизации. В потоке кода авторизации поставщик удостоверений выдает код, а SPA активирует его для маркера доступа и маркера обновления. Если приложению требуются новые маркеры, он может использовать поток маркеров обновления для получения новых маркеров. Библиотека проверки подлинности Майкрософт (MSAL) для JavaScript версии 2.0 и более поздних версий реализует поток кода авторизации для spAs и, при дополнительных обновлениях, является заменой для MSAL.js 1.x. См. руководство по миграции для перемещения SPA из неявного в поток кода проверки подлинности.
Для платформы удостоверений Майкрософт одностраничные приложения и собственные клиенты используют аналогичные правила протокола:
- Используется запрос кода PKCE
- PKCE является обязательным для одностраничных приложений на платформе удостоверений Майкрософт. PKCE рекомендуется для собственных и конфиденциальных клиентов.
SpAs имеют два дополнительных ограничения:
- URI перенаправления необходимо отметить как тип spa , чтобы включить CORS для конечных точек входа.
- Время существования маркеров обновления, выданных с помощью потока кода авторизации в URI перенаправления spa , составляет 24 часа, а не 90 дней.
Влияние производительности и пользовательского интерфейса
Некоторые приложения, использующие неявный поток, предпринимают попытку выполнить вход без перенаправления, открывая iFrame для входа с помощью prompt=none . В большинстве браузеров этот запрос отвечает маркерами для текущего пользователя, вошедшего в систему (при условии предоставления согласия). В этом шаблоне приложениям не требовалось полностраничное перенаправление для входа пользователя в систему, что повышало производительность и удобство работы пользователя, так как при посещении веб-страницы он уже выполнял вход. Так как prompt=none в iframe больше нет возможности при блокировке сторонних файлов cookie, приложения должны настроить свои шаблоны входа, чтобы код авторизации был выдан.
Без сторонних файлов cookie существует два способа выполнения входа.
- Полностраничные перенаправления
- При первой загрузке SPA перенаправьте пользователя на страницу входа, если сеанс еще не существует (или истек срок его действия). Браузер пользователя посещает страницу входа, представляет файлы cookie, содержащие сеанс пользователя, а затем перенаправляется обратно в приложение с кодом и маркерами в фрагменте.
- В результате перенаправления SPA загружается дважды. Чтобы избежать этого, выполните рекомендации по кэшированию одностраничных приложений.
- Рассмотрите возможность последовательности предварительной загрузки в приложении, которая проверяет наличие сеанса входа и перенаправляет на страницу входа, прежде чем приложение полностью распакует и выполнит полезные данные JavaScript.
- Если взаимодействие с пользователем (UX) при полностраничном перенаправлении не работает для приложения, рассмотрите возможность использования всплывающего окна для обработки аутентификации.
- Когда всплывающее окно завершит перенаправление в приложение после проверки подлинности, код в обработчике перенаправления будет хранить код проверки подлинности и маркеры в локальном хранилище для используемого приложения. MSAL.js поддерживает всплывающие окна для проверки подлинности, как и большинство библиотек.
- Браузеры снижают поддержку всплывающих окон, поэтому они могут быть не самым надежным вариантом. Взаимодействие пользователя с SPA перед созданием всплывающего окна может потребоваться для удовлетворения требований браузера.
Компания Apple описывает метод всплывающего окна как временное исправление совместимости, чтобы предоставить исходному окну доступ к сторонним файлам cookie. Хотя Apple может удалить эту передачу разрешений в будущем, это не повлияет на руководство здесь.
Мы используем всплывающее окно в качестве первой части перехода к странице входа, чтобы найти сеанс и указать код авторизации. Это должно работать и в будущем.
Разработчики могут продолжать использовать prompt=none с ожиданием, что они видят более высокую скорость interacion_required ошибок при блокировке сторонних файлов cookie. Рекомендация заключается в том, чтобы всегда иметь резервный вариант интерактивного метода, если возникают сбои во время автоматического приобретения маркера.
Использование IFRAME
Распространенный шаблон в веб-приложениях — использовать iframe для внедрения одного приложения в другое: кадр верхнего уровня обрабатывает проверку подлинности пользователя и приложение, размещенное в iframe, может доверять тому, что пользователь вошел в систему, автоматически извлекая маркеры с помощью неявного потока. Однако есть несколько предостережений для этого предположения независимо от того, включены ли сторонние файлы cookie или заблокированы в браузере.
Приобретение автоматического маркера больше не работает, когда сторонние файлы cookie заблокированы. Приложение, внедренное в iframe, должно переключиться на использование всплывающих окон для доступа к сеансу пользователя, так как он не может перейти на страницу входа в внедренном кадре.
Вы можете настроить единый вход между приложением в IFRAME и приложением верхнего уровня, которые используют API-интерфейсы для скриптов JavaScript в одном или в разных доменах, передавая сведения о пользователе (учетной записи) из родительского приложения в приложение в IFRAME. Дополнительные сведения см. в документе Using MSAL.js in iframed apps (Использование MSAL.js в приложениях IFRAME), размещенном в репозитории MSAL.js на сайте GitHub.
Влияние маркеров обновления на безопасность в браузере
Используя атаки межсайтовых сценариев (XSS) или скомпрометированные пакеты JS, можно украсть маркер обновления и использовать его удаленно до истечения срока действия или отзыва. Разработчики приложений отвечают за снижение риска для сценариев между сайтами. Чтобы свести к минимуму риск украденных маркеров обновления, spAs выдают маркеры, допустимые только в течение 24 часов. Через 24 часа приложение должно получить новый код авторизации через фрейм верхнего уровня, открыв страницу входа.
Этот шаблон маркера обновления с ограниченным сроком действия был выбран в качестве компромисса между безопасностью и ухудшенным взаимодействием с пользователем. Без маркеров обновления или сторонних файлов cookie поток кода авторизации (как рекомендуется в черновике оптимальных методов безопасности OAuth) становится обременительным, если требуются новые или дополнительные маркеры. Полностраничное перенаправление или всплывающее окно требуется для получения каждого отдельного маркера каждый раз по истечении срока действия маркера (для маркеров платформы удостоверений Майкрософт обычно через каждый час).
Устранение рисков конкретного типа пользователя
Не все пользователи и приложения одинаково влияют на сторонние файлы cookie. Существуют некоторые сценарии, в которых из-за архитектуры или управления устройствами автоматические вызовы для возобновления маркеров могут выполняться без сторонних файлов cookie.
Для сценариев управляемых корпоративных устройств некоторые сочетания браузеров и платформ имеют поддержку условного доступа к устройству. Применение удостоверения устройства сводит к минимуму потребность в файлах cookie сторонних производителей, так как состояние проверки подлинности может поступать с устройства вместо браузера.
Для сценариев приложений Azure AD B2C клиенты могут настроить личный домен входа для сопоставления домена приложения. Браузеры не блокируют сторонние файлы cookie в этом сценарии, так как файлы cookie остаются в том же домене (например, login.contoso.com для app.contoso.com).
Ограничения на выход front-Channel без сторонних файлов cookie
При входе пользователя из SPA MSAL.js рекомендуется использовать метод выхода всплывающего окна или перенаправления. Хотя это очищает сеанс проверки подлинности на сервере и в хранилище браузеров, существует риск того, что без доступа к сторонним файлам cookie не все федеративные приложения будут видеть выход одновременно. Существующие маркеры доступа для других приложений для того же пользователя будут оставаться действительными до истечения срока действия. Это означает, что пользователь может выйти из приложения A на вкладке A, но приложение B на вкладке B по-прежнему будет отображаться как вошедший в систему для оставшегося допустимого времени маркера доступа. Когда срок действия маркера B приложения и вызов выполняется на сервер, чтобы получить новый маркер, приложение получает ответ от сервера, срок действия сеанса и запрос на проверку подлинности пользователя.
Страница выхода Майкрософт и рекомендации по конфиденциальности интернета рекомендуют пользователям закрывать все окна браузера после выхода из приложения.
Следующие шаги
Дополнительные сведения о потоке кода авторизации и библиотеке MSAL.js см. в следующих статьях:
- Поток кода авторизации
- Краткое руководство по MSAL.js 2.0
Удаление истории посещений, содержимого кэша и файлов cookie из браузера Safari на iPhone, iPad или iPod touch

- Перейдите в раздел «Настройки» > Safari.
- Выберите пункт «Очистить историю и данные».
При удалении истории посещений, файлов cookie и данных о просмотренных веб-сайтах из браузера Safari информация для автозаполнения не изменяется.
При отсутствии истории посещений или данных веб-сайтов кнопка удаления этих данных будет недоступна. Эта кнопка также может быть неактивной (серой), если в разделе «Контент и конфиденциальность» настроек функции «Экранное время» установлены ограничения веб-контента.
Для просмотра веб-сайтов без сохранения их посещения в истории включите режим «Частный доступ».
Очистка файлов cookie и содержимого кэша, но сохранение истории посещений
- Перейдите в раздел «Настройки» > Safari > «Дополнения» > «Данные сайтов».
- Нажмите «Удалить все данные».
При отсутствии данных веб-сайтов кнопка удаления этих данных будет недоступна. Эта кнопка также может быть неактивной (серой), если в разделе «Контент и конфиденциальность» настроек функции «Экранное время» установлены ограничения веб-контента.
Удаление веб-сайта из истории посещений
- Откройте приложение Safari.
- Нажмите кнопку «Показать закладки» , затем нажмите кнопку «История» .
- Нажмите кнопку «Правка», а затем выберите один или несколько сайтов, которые хотите удалить из истории посещений.
- Нажмите кнопку «Удалить».
Блокировка файлов cookie
Файл cookie — это элемент данных, отправляемый веб-сайтом на устройство для того, чтобы узнать его при следующем посещении этого веб-сайта.
Чтобы заблокировать файлы cookie, выполните следующие действия.

- Перейдите в раздел «Настройки» > Safari > «Дополнения».
- Включите «Блокировка всех cookie».
При блокировке файлов cookie некоторые веб-страницы могут не работать. Вот несколько примеров.
- Нередко может не выполняться вход на веб-сайт, хотя имя пользователя и пароль указаны верно.
- Возможен вывод сообщения о том, что использование файлов cookie обязательно или что в браузере отключены файлы cookie.
- Могут не работать некоторые функции веб-сайта.
Использование правил блокирования контента
Правила блокирования контента выполняются с помощью приложений и расширений сторонних разработчиков, позволяющих браузеру Safari блокировать файлы cookie, изображения, ресурсы, всплывающие окна и другой контент.
Чтобы включить блокирование контента:
- Загрузите приложение для блокирования контента из App Store.
- Нажмите «Настройки» > Safari > «Расширения».
- Нажмите указанное в списке приложение для блокирования контента, чтобы активировать его.
Можно использовать сразу несколько приложений для блокирования контента. Если вам требуется помощь, обратитесь к разработчику программ.
Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.
Ох уж эти куки. Как заблокировать баннеры cookie и почему они вообще появились
В Интернете можно найти множество неприятных вещей, но самое раздражающее находит нас самостоятельно — это cookie-баннеры. Чуть ли не каждый веб-сайт, который вы посещаете впервые, сходу приветствует вас всплывающим окном, где просит принять файлы cookie. В большинстве случаев это просто баннер, загораживающий часть контента, но порой сайтом невозможно нормально пользоваться, пока вы не кликните «принять» или «согласен» во всплывающем окне.

Как появились cookie-баннеры?
Хотя данные баннеры не вызывают приятных эмоций у пользователей, они были созданы из благих намерений. Многие сейчас даже и не вспомнят, когда они появились. До 2009 года этих баннеров не существовало вовсе, так как именно в этом году в Евросоюзе появился «Закон cookie» — это директива ePrivacy 2009/136/EC. Она вступила в силу в 2011 году, но не вызвала моментальных изменений в Вебе.
Директива должна была способствовать защите персональных данных, но сама по себе не обязывала владельцев сайтов добавлять баннеры. Вместо этого она предписывала правительствам стран Европы самостоятельно принимать соответствующие законы. Всё резко поменялось в мае 2018 года, когда вступил в силу GDPR — Общий регламент по защите данных, согласно которому сайты должны были получать согласие от посетителей на использование cookie.

Регламент начал действовать на территории всего ЕС и подразумевал серьезные штрафы за его несоблюдение — до 20 млн евро или до 4% от годового оборота компании. С этого момента куки-баннеры стали массовым явлением. Некоторые крупные американские новостные сайты поздно спохватились и стали недоступны на территории Европы уже в конце мая. Владельцы большинства остальных неевропейских сайтов не захотели терять пользователей из стран ЕС, а потому баннеры распространились по сети, словно вирус.
Как их заблокировать?
Удалить cookie-баннеры можно с помощью настроек некоторых браузеров. В частности, в настройках Google Chrome есть пункт «Конфиденциальность и безопасность». Если в нем выбрать «Файлы cookie и другие данные сайтов», то перед нами появится страничка с выбором политики в отношении этих самых куки-файлов.
Чтобы баннеры полностью исчезли, понадобится включить опцию «Заблокировать все файлы cookie». К сожалению, это решение довольно топорное, так как нарушит работу многих сервисов. Например, при закрытии вкладок вас будет разлогинивать на веб-сайтах, также могут пропадать товары из корзины, если речь о вкладках с интернет-магазинами.

Более изящный способ защиты от навязчивых баннеров — это специальные расширения для браузера. Одним из таких является Super Agent. Это расширение поддерживает русский язык и доступно для браузеров Firefox, Chrome, Safari и Edge. Оно не только скрывает баннеры, но и предлагает широкие настройки для файлов cookie: можно выбрать, какие из них вы хотите автоматически принимать, а от каких предпочитаете отказаться. Если зарегистрироваться, то появится возможность синхронизировать настройки между браузерами на разных устройствах.

Cookie-нигилисты могут в качестве альтернативы рассмотреть намного более простое расширение — I don’t care about cookies. Оно работает в браузерах Firefox, Pale Moon, Chrome, Edge и Opera. Настроек тут минимум: можно лишь добавить белый список сайтов, на которых расширение не будет работать. На всех остальных оно автоматически будет блокировать баннеры, при этом соглашаясь на все предлагаемые сайтом cookie-файлы. Русский язык присутствует, хотя и без него здесь проблем бы не возникло.
Включить нельзя блокировать: настраиваем cookies в браузере
Рассказываем, как правильно настроить куки в Chrome, Safari, Firefox и Edge.

Leonid Grustniy
- 31 января 2022
Многие из вас наверняка встречали упоминания о cookie-файлах, но зачем они нужны и что с ними делать, знает не каждый. Мы уже рассказывали о куки — как они влияют на вашу конфиденциальность и как можно ими управлять в настройках сайтов. В этой статье покажем менее тернистый путь — через параметры браузера — и дадим подробные инструкции для Google Chrome, Safari, Mozilla Firefox и Microsoft Edge.
Что такое cookie и зачем с ними что-то делать?
Когда вы заходите на какой-либо сайт, он сохраняет на вашем устройстве cookie — небольшой файл с данными о вашей системе и действиях на странице. Причем куки могут создавать и использовать как сам веб-ресурс, на котором вы находитесь, так и совершенно посторонние сервисы, например рекламные.
Очень часто куки самих ресурсов, они же основные, нужны для правильной работы сайта или упрощают взаимодействие с ним. Например, они помогают интернет-магазину запомнить ваш город или переключают международный сайт на ваш язык. А самое главное — позволяют не вводить логин и пароль при каждом новом посещении сайта, на котором у вас есть учетная запись.
А вот куки других сервисов — их обычно называют «сторонние куки» — используют для создания целевой рекламы или аналитики. Например, с их помощью можно узнать, на какие баннеры вы кликаете и какими товарами интересуетесь в магазинах. Такое внимание приятно далеко не каждому, поэтому большинство браузеров позволяют их заблокировать.
Какие настройки cookie бывают в браузерах
Большинство популярных браузеров предлагают два способа ограничить влияние куки на вашу конфиденциальность: полностью стереть их с устройства или заблокировать отдельные виды cookie — например, только сторонние. Может показаться, что вариант с удалением надежнее и проще, однако с точки зрения удобства он сильно проигрывает.
Начнем с того, что удалять куки можно по-разному: вручную и автоматически. Первый подход позволяет точечно избавиться от определенных куки для каждого отдельного сайта. Звучит не так уж здорово, если учесть, что всего за пару часов в Сети мы посещаем десятки разных страниц, каждая из которых норовит оставить на устройстве несколько cookie. Конечно, есть еще кнопка «Удалить все», но тогда под горячую руку попадут и полезные куки — те, в которых хранится информация для автоматического входа в аккаунт, адреса доставки и так далее.
Та же проблема и с автоматическим удалением — в этом случае браузер сам «заметет следы» при каждом перезапуске, но при этом сотрет все куки для всех посещенных сайтов. После такой зачистки вам придется заново входить в аккаунты, выбирать валюту оплаты и страну доставки в интернет-магазинах и совершать прочие телодвижения, без которых вы бы, скорее всего, предпочли обойтись.
Поэтому лучший вариант — заблокировать в настройках только сторонние куки. Даже если после этого какой-то сайт начнет работать неправильно, вы всегда сможете добавить его в список исключений. Так вы избавитесь от рекламных, следящих и прочих не самых необходимых cookie, не рискуя полезными данными. Рассказываем, как это сделать в десктопных версиях браузеров Google Chrome, Safari, Mozilla Firefox и Microsoft Edge.
Как заблокировать сторонние cookie в Google Chrome
Чтобы разом заблокировать все сторонние куки в Google Chrome, сделайте следующее:
- Кликните на три точки в правом верхнем углу и в выпадающем меню выберите Настройки → Конфиденциальность и безопасность → Файлы cookie и другие данные сайтов.
- Чтобы заблокировать все сторонние cookie, выберите пункт Блокировать сторонние cookie и данные сайтов.
Если вы хотите, чтобы определенные сайты в виде исключения могли собирать и основные, и сторонние куки (некоторые сервисы, например Microsoft Teams, отказываются работать, если сторонние куки выключены), или наоборот — чтобы какие-то сайты не собирали вообще ничего, то надо сделать вот что:
- Перейдите в раздел Настройки → Конфиденциальность и безопасность → Файлы cookie и другие данные сайтов.
- Пролистните страницу до меню Специальные настройки.
- Нажмите Добавить рядом с пунктом Сайты, которые всегда могут использовать файлы cookie или Сайты, которые не могут использовать файлы cookie.
- Введите адреса сайтов в соответствующие поля.
- Если вы хотите, чтобы исключение работало для всех куки, отметьте галочкой В том числе сторонние файлы cookie на сайте. Эту галочку надо поставить сразу, в режиме редактирования соответствующей записи ее уже не будет.
Инструкция для Safari
Браузер Safari по умолчанию блокирует сторонние cookie-файлы. Убедиться, что все в порядке, можно здесь:
- Войдите в меню Safari и выберите Настройки → Конфиденциальность.
- Убедитесь, что опция Предотвращать перекрестное отслеживание включена.
- Для более точечной настройки в разделе Конфиденциальность нажмите Управлять данными веб-сайта. Здесь можно посмотреть, какие сайты сохраняют файлы cookie и прочую информацию на компьютере, а также удалить файлы cookie и данные для отдельных веб-сайтов.
Где искать настройки cookie в Mozilla Firefox
Браузер Mozilla Firefox предлагает пользователям три степени защиты конфиденциальности: «Стандартная», «Строгая» и «Персональная». В первом случае сторонние cookie блокируются только в приватных окнах, а во втором, по признанию самих разработчиков, есть риск нарушить работу сайтов. Поэтому советуем присмотреться к варианту «Персональная», в котором можно самостоятельно выбирать, какие куки блокировать.
- Кликните на кнопку с тремя полосками в правом верхнем углу и в выпадающем меню выберите Настройки → Приватность и Защита.
- Выберите пункт Персональная.
- Перейдите в меню справа от пункта Куки и выберите строчку Все сторонние куки.
Также можно запретить или разрешить конкретным веб-ресурсам сохранять все виды куки и данные сайтов.
- Для этого в разделе Настройки → Приватность и защита пролистайте до пункта Куки и данные сайтов.
- Нажмите на Управление исключениями и в диалоговом окне выберите Исключения — куки и данные сайтов.
- Введите адрес сайта, который вы хотите заблокировать или которому хотите разрешить использовать куки.
- Кликните на Блокировать или Разрешить, а затем нажмите Сохранить изменения для завершения.
Как запретить лишние cookie в Microsoft Edge
Чтобы запретить сторонние куки в Microsoft Edge, сделайте следующее:
- Кликните на три точки в правом верхнем углу и выберите Настройки.
- В меню слева нажмите Файлы cookie и разрешения сайтов.
- Перейдите в меню Управляйте файлами cookie и данными сайта, а также удаляйте их.
- Включите параметр Блокировать сторонние файлы cookie.
Чтобы настроить список исключений, следуйте инструкции ниже.
- Перейдите в меню Настройки → Файлы cookie и разрешения сайтов → Управляйте файлами cookie и данными сайта, а также удаляйте их.
- Нажмите Добавить рядом с пунктом Блокировка и/или Разрешить.
- Введите адреса сайтов в соответствующие поля и отметьте галочкой Включить сторонние файлы cookie на этом сайте.
Комфорт и защита
Уделив немного времени настройке браузера, вы повысите свою конфиденциальность и не столкнетесь с лишними неудобствами при посещении сайтов. Еще более надежно защититься от онлайн-слежки поможет функция «Защита от сбора данных» Kaspersky Security Cloud. Также наше решение защитит ваши онлайн-платежи, предупредит о фишинге и интернет-мошенниках и, конечно же, позаботится о защите от вирусов.