Brak upiornych 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?

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 plikiem cookie. 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ł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żyć pliku cookie własnego. To jest trochę nielogiczne z punktu widzenia bezpieczeństwa, ponieważ to Ty powinieneś pytać, kiedy chcesz uzyskać więcej 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 zewnętrznym.

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 przepis został nieco ulepszony, nadal możesz go ulepszyć. 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 smakują lepiej 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 dyniami lub trasy na 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 będzie wysyłany w przypadku witryny dotyczącej dyniowego pola i witryny dotyczącej 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 na wielu stronach 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 się na to zgodzić, 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) w Chrome 109. Oznacza to, ż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 w przypadku tych powiązanych witryn był używany ten sam plik 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 być powiązane.
  • 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 w tej samej witrynie korzystają z najlepszych receptur dotyczących własnych plików cookie.
  3. Jeśli używasz tych plików cookie w ramach kontekstu umieszczonego w pełni, przeprowadź analizę i testy propozycji 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ą zestawów własnych plików cookie.
  5. Jeśli żadna z tych opcji nie pasuje do Twojej sytuacji, 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 korzystają ze śledzenia 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!