Brak upiornych ciasteczek

Ciasteczka są najlepsze, gdy są świeże. Jakie są najnowsze przepisy, dzięki którym można cieszyć się strasznym sezonem bez twardych ciasteczek?

Ciasteczka są najlepsze, gdy są świeże. Jakie są najnowsze przepisy, dzięki którym będziesz mógł cieszyć się strasznym sezonem bez twardych ciasteczek?

Jesteśmy na drodze do wycofania plików cookie innych firm ze wszystkich platform internetowych. To ważny krok w walce ze śledzeniem w witrynach, ale to dopiero początek długiej drogi. Zobaczmy, jak daleko zaszliśmy i co jeszcze nas czeka w przyszłości.

Na pierwszy rzut oka pliki cookie stanowią prosty magazyn par klucz-wartość, który jest przesyłany między przeglądarką a serwerem. Może to zapewniać przydatne funkcje w witrynie, takie jak zapisywanie preferencji: theme=bats lub przechowywanie identyfikatora sesji dla zalogowanego użytkownika.

Plik cookie innej firmy zawierający prostą wartość, np. theme=bats lub fav_pumpkins=us-nyc

Jeśli plik cookie jest używany w tej samej witrynie, która go ustawiła, nazywamy go własnym. Jeśli jest używany w ramach innej witryny niż ta, która go ustawiła, jest to plik cookie innej firmy. Na przykład plik cookie theme=bats będzie własny, jeśli odwiedzam tę samą witrynę, która go ustawiła, ale jeśli jest on zawarty w ramce iframe lub innym zasobie międzywitrynowym w ramach innej witryny, będzie to plik cookie innej firmy.

Problem z plikami cookie innych firm polega na tym, że umożliwiają śledzenie między witrynami. Zamiast ustawiać coś takiego jak motyw, współdzielona usługa może przechowywać w nim cały identyfikator. Ten sam identyfikator jest wysyłany, gdy przechodzisz do różnych witryn, które zawierają pliki cookie udostępnianych usług. Oznacza to, że jedna usługa może obserwować i wiązać Twoją aktywność w tych witrynach.

Plik cookie innej firmy zawierający unikalny identyfikator, który umożliwia witrynie innej firmy śledzenie użytkownika w internecie

Domyślnie własne pliki cookie

Już poczyniliśmy postępy w tym zakresie. Wcześniej plik cookie o zwykłej nazwie theme=pumpkins był wysyłany we wszystkich kontekstach: w tej samej witrynie i w innych witrynach. Większość witryn chce, aby ich pliki cookie były wysyłane tylko w kontekście tej samej witryny. Możesz to kontrolować za pomocą atrybutu SameSite w pliku cookie. Na przykład:

Set-Cookie: theme=bats; SameSite=Lax

To polecenie informuje przeglądarkę, aby wysyłać plik cookie tylko wtedy, gdy zasób pasuje do witryny najwyższego poziomu. Oznaczało to jednak, że witryna musiała określić, kiedy chce używać pliku cookie własnego. To jest trochę nielogiczne z punktu widzenia bezpieczeństwa, ponieważ to Ty powinieneś prosić o przyznanie Ci dodatkowych uprawnień, a nie otrzymywać je domyślnie.

Teraz domyślnie jest używana wartość SameSite=Lax. Jeśli ustawisz tylko theme=bats, dane będą wysyłane tylko w ramach tej samej witryny.

Domyślna wartość SameSite=Lax uniemożliwia wysyłanie pliku cookie w kontekście witryny innej firmy

Jeśli chcesz użyć pliku cookie w wielu witrynach lub pliku cookie innej firmy (np. aby wyświetlić motyw w osadzonym widżecie), musisz określić:

Set-Cookie: theme=bats; SameSite=None; Secure
Wyraźna wartość SameSite=None oznacza, że plik cookie ma być wysyłany w kontekście wielu witryn

To spowoduje, że przeglądarka będzie wysyłać plik cookie w dowolnym kontekście między witrynami, ale ograniczy to tylko do bezpiecznych połączeń.

jeszcze smaczniejsze własne pliki cookie;

Chociaż domyślny wynik się nieco poprawił, nadal możesz ulepszyć ten przepis. Oto krótki przykład:

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

Dzięki temu plik cookie będzie ograniczony tylko do jednej domeny, połączeń bezpiecznych, nie będzie dostępny dla JavaScriptu, automatycznie wygaśnie przed wygaśnięciem i (oczywiście!) będzie dozwolony tylko w kontekście tej samej strony.

Ciasteczka są smaczniejsze z chipsami!

Jednym z magicznych aspektów sieci jest możliwość łączenia ze sobą wielu witryn. Załóżmy, że chcę utworzyć widżet mapy, który pozwoli innym witrynom wyświetlać najlepsze trasy wycieczek po polach z dyniątkami lub trasy przemarszu w okazji Halloween. Moja usługa używa pliku cookie, aby umożliwić użytkownikom zapisywanie postępów na trasie. Problem polega na tym, że ten sam plik cookie innych firm zostanie wysłany do witryny dotyczącej dyniowego pola i do witryny dotyczącej dyniowego Halloween. Nie chcę śledzić użytkowników między witrynami, ale przeglądarka używa tylko jednego pliku cookie – nie ma możliwości rozdzielenia tego użycia.

Pliki cookie między witrynami z ustawieniem SameSite=None nadal trafiają do wspólnego pliku cookie

Właśnie w tym kontekście pojawia się propozycja dotycząca plików cookie z niezależnym stanem partycji (ang. Cookies Having Independent Partitioned State, CHIPS). Zamiast jednego wspólnego pliku cookie jest osobny, podzielony na partycje plik cookie dla każdej witryny najwyższego poziomu. Witryny mogłyby wyrazić zgodę na to, używając atrybutu Partitioned w pliku cookie.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
Atrybut „Partitioned” (Oddzielony) w pliku cookie tworzy osobne słoiki z plikami cookie dla każdej witryny najwyższego poziomu.

Zamiast dzielić się ciastkami, każdy dostanie własne. Prostsze, bezpieczniejsze i bardziej higieniczne.

Właśnie wysłaliśmy intencję wprowadzenia plików cookie z niezależnym stanem partycji (CHIPS) do Chrome 109, co oznacza, że będą one dostępne do testowania w wersji beta w grudniu, a potem w styczniu 2023 r. w wersji stabilnej. Jeśli więc w nowym roku chcesz poprawić swój przepis na ciasteczka, sprawdź, czy możesz dodać do nich CHIPS.

Zapraszanie plików cookie do sesji wspólnego oglądania za pomocą zestawów źródeł własnych

W odniesieniu do opinii programistów wielu z Was zauważyło, że są sytuacje, w których udostępniacie usługi w witrynach, nad którymi sprawujecie kontrolę, i chcecie móc używać w nich plików cookie, ale nie chcecie, aby były one wysyłane w prawdziwym kontekście osób trzecich. Możesz na przykład mieć pretty-pumpkins.compretty-pumpkins.co.uk. Możesz mieć system logowania jednokrotnego oparty na plikach cookie, który działa w tych witrynach. Nie można użyć CHIPS, ponieważ musiałbym się zalogować w obu witrynach. Wymagane jest, aby te powiązane witryny używały tego samego pliku cookie.

Pracujemy nad propozycją zestawów źródeł własnych, aby umożliwić to rozwiązanie. Przeprowadziliśmy testowanie wersji próbnej i rozmawialiśmy z użytkownikami, co zaowocowało najnowszą wersją, która:

  • Umożliw organizacjom zdefiniowanie grupy witryn, które powinny należeć do tej samej strony.
  • Użyj interfejsu Storage Access API, aby poprosić o dostęp do plików cookie w wielu witrynach w ramach tego zestawu źródeł własnych.
Własne zestawy umożliwiają udostępnianie pliku cookie tylko między powiązanymi witrynami.

Te pliki cookie wciąż są w piekarniku, ale możesz sprawdzić w przewodniku dla deweloperów First-Party Sets, czy są dostępne inne do testowania. Jeśli chcesz wziąć udział w dyskusji, możesz też zapoznać się z propozycją dotyczącą WICG/first-party-sets.

Nie pozwól, aby Twoje ciasteczka stały się twarde.

Chcemy zacząć wycofywać obsługę plików cookie innych firm w Chrome w połowie 2024 r. Masz czas na przygotowanie, ale planowanie warto zacząć już teraz.

  1. Sprawdź kod pod kątem plików cookie z wartością SameSite=None. Oto pliki cookie, które wymagają aktualizacji.
  2. Jeśli nie używasz plików cookie innych firm, upewnij się, że pliki cookie na tej samej stronie korzystają z najlepszych receptur dotyczących własnych plików cookie.
  3. Jeśli używasz tych plików cookie w ramach w pełni odizolowanego kontekstu, przetestuj propozycję CHIPS.
  4. Jeśli potrzebujesz tych plików cookie w wielu witrynach, które tworzą jedną spójną grupę, zapoznaj się z propozycją dotyczącą własnych zestawów plików cookie.
  5. Jeśli żadna z tych opcji nie dotyczy Twojej firmy, zapoznaj się z innymi propozycjami dotyczącymi Piaskownicy prywatności, w ramach których tworzymy interfejsy API dostosowane do konkretnych przypadków użycia, które nie polegają na śledzeniu między witrynami.

To tylko krótki przegląd. W miarę postępów będziemy udostępniać więcej informacji i wskazówek. Jeśli masz pytania lub problemy albo chcesz podzielić się wynikami swojej pracy, skontaktuj się z nami.

Pamiętaj, że ciasteczka mogą być pyszne, ale tylko kilka naraz i zdecydowanie nie próbuj kraść cudzych!