Никакого жуткого печенья

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

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

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

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

Сторонний файл cookie, содержащий простое значение, например theme=bats или fav_pumpkins=us-nyc.

Если этот файл cookie используется на том же сайте, на котором он был установлен, мы обычно называем его основным файлом cookie. Если он используется как часть сайта, отличного от того, на котором он был установлен, мы называем это сторонним файлом cookie. Например, мой файл cookie theme=bats будет основным, если я посещаю тот же сайт, который его установил, но если он включен в iframe или другой межсайтовый ресурс как часть другого сайта, тогда он будет третьим. -праздничное печенье.

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

Сторонний файл cookie с уникальным идентификатором, который позволяет стороннему сайту отслеживать пользователя в Интернете.

Основные файлы cookie по умолчанию

Мы уже добились прогресса на нашем пути сюда! Раньше просто установка обычного файла cookie: theme=pumpkins отправлялась во всех контекстах: на одном сайте или между сайтами! Большинство сайтов хотят, чтобы их файлы cookie отправлялись только в контексте одного сайта. Этим можно управлять с помощью атрибута SameSite в файле cookie. Например:

Set-Cookie: theme=bats; SameSite=Lax

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

Итак, теперь SameSite=Lax используется по умолчанию. Если вы просто установите theme=bats он будет отправлен только в контексте того же сайта.

Значение SameSite=Lax по умолчанию останавливает отправку файлов cookie в стороннем контексте.

Если вам нужен межсайтовый или сторонний файл cookie (возможно, вам нужна тема, отображаемая во встроенном виджете), вам необходимо указать:

Set-Cookie: theme=bats; SameSite=None; Secure
Явное значение SameSite=None отмечает отправку файла cookie в межсайтовом контексте.

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

Еще вкуснее оригинальное печенье

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

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

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

С ЧИПСАМИ печенье вкуснее!

Одним из волшебных аспектов Интернета является возможность объединять несколько сайтов. Допустим, я хочу создать виджет карты, который позволит другим сайтам показывать лучшие туры по тыквенным грядкам или маршруты с сюрпризами. Мой сервис использует файлы cookie, чтобы пользователи могли сохранять свой прогресс на маршруте. Проблема в том, что на сайт тыквенных патчей будут отправлены одни и те же сторонние файлы cookie, как и на сайт сладостей и сладостей. Я не хочу отслеживать пользователей между сайтами, но браузер использует только один файл cookie — у меня нет возможности разделить это использование!

Межсайтовые файлы cookie с параметром SameSite=None по-прежнему сохраняются в общей банке файлов cookie.

Вот тут-то и появляется предложение «Cookies с независимым разделенным состоянием» (CHIPS). Вместо одного общего файла cookie на каждый сайт верхнего уровня приходится отдельный и разделенный файл cookie. Сайты согласятся на это, используя атрибут Partitioned в своих файлах cookie.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
Атрибут Partitioned в файле cookie создает отдельные банки cookie для каждого сайта верхнего уровня.

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

Мы только что отправили сообщение о намерении выпустить файлы cookie с независимым разделенным состоянием (CHIPS) в Chrome 109. Это означает, что они будут доступны для тестирования в бета-версии в декабре, а затем будут готовы к выпуску стабильной версии в январе 2023 года. Итак, если вы ищете новогоднее решение по улучшению рецепта файлов cookie вашего сайта, а затем посмотрите, сможете ли вы начать добавлять CHIPS в эти межсайтовые файлы cookie!

Приглашение файлов cookie на вечеринку с помощью собственных наборов

Что касается отзывов разработчиков, многие из вас также дали понять, что бывают ситуации, когда вы совместно используете сервисы на сайтах, которые вы контролируете, и хотите иметь возможность использовать файлы cookie на них, но не позволяете им отправляться в истинно сторонних контекстах. Например, возможно, у вас есть pretty-pumpkins.com и pretty-pumpkins.co.uk . У вас может быть система единого входа на основе файлов cookie, которая работает на всех этих сайтах. CHIPS не будет работать, потому что мне придется просто войти в систему на обоих сайтах — требование состоит в том, что мне нужен один и тот же файл cookie на этих связанных сайтах.

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

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

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

Не позволяйте вашим файлам cookie устаревать!

Наша цель — начать поэтапное прекращение поддержки сторонних файлов cookie в Chrome с середины 2024 года. Есть время для подготовки, но начинать планирование следует уже сейчас.

  1. Проверьте свой код на наличие файлов cookie с помощью SameSite=None . Это файлы cookie, которые потребуют обновлений.
  2. Если у вас нет сторонних файлов cookie, убедитесь, что ваши файлы cookie того же сайта используют лучшие рецепты собственных файлов cookie.
  3. Если вы используете эти файлы cookie в полностью автономном, встроенном контексте, изучите и протестируйте предложение CHIPS .
  4. Если вам нужны эти файлы cookie на нескольких сайтах, которые образуют одну сплоченную группу, изучите предложение «Собственные наборы» .
  5. Если на вас не распространяется ни один из этих вариантов, вам необходимо изучить другие предложения Privacy Sandbox , в которых мы разрабатываем специальные API для индивидуальных случаев использования, которые не полагаются на межсайтовое отслеживание.

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

Итак, помните: печенье может быть вкусным, но только несколько штук за раз, и ни в коем случае не пытайтесь украсть чье-либо печенье!