Không có bánh quy ma quái

Bánh quy ngon nhất là khi mới ra lò. Vậy công thức mới nhất để đảm bảo bạn vẫn có thể thưởng thức mùa lễ ma quái mà không phải ăn bánh quy cũ là gì?

Bánh quy ngon nhất là khi mới ra lò. Vậy công thức mới nhất để đảm bảo bạn vẫn có thể tận hưởng mùa lễ ma quái mà không phải ăn bánh quy cũ là gì?

Chúng tôi đang trên lộ trình loại bỏ cookie của bên thứ ba trên nền tảng web. Đó là một cột mốc quan trọng trong việc giải quyết hoạt động theo dõi trên nhiều trang web, nhưng đó mới chỉ là một phần của một hành trình khá dài. Hãy cùng xem chúng ta đã đi được bao xa và những điều thú vị sắp tới…

Trên bề mặt, cookie cung cấp một kho khoá-giá trị đơn giản được gửi giữa trình duyệt và máy chủ. Điều đó có thể cung cấp chức năng hữu ích trên một trang web, chẳng hạn như lưu lựa chọn ưu tiên: theme=bats hoặc lưu trữ mã phiên cho người dùng đã đăng nhập.

Cookie của bên thứ ba chứa một giá trị đơn giản như theme=bats hoặc fav_pumpkins=us-nyc

Nếu cookie đó đang được sử dụng trên cùng một trang web đã đặt cookie, thì chúng ta thường gọi đó là cookie của bên thứ nhất. Nếu cookie được sử dụng trên một trang web khác với trang web đã đặt cookie, thì chúng tôi gọi đó là cookie của bên thứ ba. Ví dụ: cookie theme=bats của tôi sẽ là cookie của bên thứ nhất nếu tôi đang truy cập vào chính trang web đã đặt cookie đó, nhưng nếu cookie đó nằm trong một iframe hoặc tài nguyên trên nhiều trang web khác nhau trong một trang web khác, thì đó sẽ là cookie của bên thứ ba.

Vấn đề với cookie của bên thứ ba là chúng có thể cho phép theo dõi trên nhiều trang web. Thay vì thiết lập một nội dung như giao diện, dịch vụ dùng chung có thể lưu trữ toàn bộ giá trị nhận dạng trong đó. Sau đó, chính giá trị nhận dạng đó sẽ được gửi khi bạn di chuyển trên nhiều trang web có chứa cookie dịch vụ dùng chung. Điều này có nghĩa là một dịch vụ có thể quan sát và liên kết hoạt động của bạn trên các trang web đó.

Cookie của bên thứ ba chứa một mã nhận dạng duy nhất cho phép trang web của bên thứ ba theo dõi người dùng trên web

Cookie của bên thứ nhất theo mặc định

Chúng ta đã đạt được một số tiến bộ trong hành trình này! Trước đây, chỉ cần đặt một cookie thuần tuý: theme=pumpkins sẽ được gửi trong mọi ngữ cảnh: cùng trang web hoặc trên nhiều trang web! Hầu hết các trang web chỉ muốn gửi cookie trong bối cảnh cùng trang web. Bạn có thể kiểm soát điều này thông qua thuộc tính SameSite trên cookie. Ví dụ:

Set-Cookie: theme=bats; SameSite=Lax

Thao tác này sẽ yêu cầu trình duyệt chỉ gửi cookie nếu tài nguyên khớp với trang web cấp cao nhất. Tuy nhiên, điều đó có nghĩa là trang web phải chỉ định thời điểm muốn sử dụng cookie của bên thứ nhất. Điều đó hơi ngược về mặt bảo mật vì thực sự bạn nên hỏi khi muốn có thêm đặc quyền – chứ không phải chỉ nhận được các đặc quyền đó theo mặc định.

Vì vậy, SameSite=Lax là giá trị mặc định. Nếu bạn chỉ đặt theme=bats, thì cookie này sẽ chỉ được gửi trong ngữ cảnh cùng trang web.

Giá trị mặc định SameSite=Lax sẽ ngăn cookie được gửi trong ngữ cảnh của bên thứ ba.

Nếu muốn có cookie trên nhiều trang web hoặc cookie của bên thứ ba (có thể bạn cần giao diện được hiển thị trong một tiện ích được nhúng), thì bạn cần chỉ định:

Set-Cookie: theme=bats; SameSite=None; Secure
Giá trị SameSite=None rõ ràng đánh dấu cookie sẽ được gửi trong ngữ cảnh nhiều trang web.

Điều này cho trình duyệt biết rằng bạn muốn cookie được gửi trong bất kỳ ngữ cảnh nào trên nhiều trang web, nhưng chúng ta chỉ muốn hạn chế ở các kết nối an toàn.

Cookie của bên thứ nhất ngon hơn nữa

Mặc dù mặc định đã tốt hơn một chút, nhưng bạn vẫn có thể cải thiện công thức đó. Sau đây là một số tính năng nổi bật:

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

Thao tác này sẽ giúp bạn có một cookie của bên thứ nhất chỉ bị giới hạn ở một miền, các kết nối bảo mật, không có quyền truy cập bằng JavaScript, tự động hết hạn trước khi lỗi thời và (tất nhiên!) chỉ được phép trong ngữ cảnh cùng trang web.

Bánh quy sẽ ngon hơn khi có CHIPS!

Một trong những khía cạnh kỳ diệu của web là khả năng kết hợp nhiều trang web với nhau. Giả sử tôi muốn tạo một tiện ích bản đồ cho phép các trang web khác hiển thị các tuyến đường đi chơi Halloween hoặc các tour tham quan trang trại bí ngô tốt nhất. Dịch vụ của tôi sử dụng cookie để cho phép người dùng lưu trữ tiến trình của họ dọc theo tuyến đường. Vấn đề là cùng một cookie của bên thứ ba sẽ được gửi trên trang web trang trại bí ngô cũng như trên trang web đi xin kẹo Halloween. Tôi không muốn theo dõi người dùng giữa các trang web, nhưng trình duyệt chỉ sử dụng một hộp cookie – tôi không thể tách biệt việc sử dụng đó!

Tất cả cookie trên nhiều trang web có SameSite=None vẫn được đưa vào một tệp cookie dùng chung.

Đó là lúc đề xuất Cookies Having Independent Partitioned State (Cookie có trạng thái được phân vùng độc lập) hoặc CHIPS xuất hiện. Thay vì một hộp cookie dùng chung, mỗi trang web cấp cao nhất sẽ có một hộp cookie riêng và được phân vùng. Các trang web sẽ chọn sử dụng tính năng này bằng cách sử dụng thuộc tính Partitioned trên cookie của họ.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
Thuộc tính Phân vùng trên cookie tạo các lọ cookie riêng biệt cho mỗi trang web cấp cao nhất

Thay vì phải chia sẻ lọ bánh quy đó, mỗi người sẽ có lọ bánh quy riêng! Đơn giản hơn, an toàn hơn và vệ sinh hơn.

Chúng tôi vừa gửi Ý định phân phối cho Cookie có trạng thái phân vùng độc lập (CHIPS) trong Chrome 109. Điều này có nghĩa là bạn có thể thử nghiệm tính năng này trong phiên bản Beta vào tháng 12 và sau đó sẵn sàng cho phiên bản ổn định vào tháng 1 năm 2023. Vì vậy, nếu bạn đang tìm kiếm một mục tiêu cho năm mới để cải thiện công thức bánh quy của trang web, hãy xem xét xem bạn có thể bắt đầu thêm CHIPS vào các bánh quy trên nhiều trang web hay không!

Mời cookie tham gia nhóm bằng First-Party Sets

Về chủ đề ý kiến phản hồi của nhà phát triển, nhiều bạn cũng đã nêu rõ rằng có những trường hợp bạn chia sẻ dịch vụ trên các trang web mà bạn kiểm soát và muốn sử dụng cookie trên các trang web đó – nhưng không cho phép gửi cookie trong ngữ cảnh bên thứ ba thực sự. Ví dụ: có thể bạn có pretty-pumpkins.compretty-pumpkins.co.uk. Bạn có thể có một hệ thống đăng nhập một lần dựa trên cookie hoạt động trên các trang web này. CHIPS sẽ không hoạt động vì tôi chỉ cần đăng nhập vào cả hai trang web. Yêu cầu là tôi cần có cùng một cookie trên các trang web có liên quan này.

Chúng tôi đang nỗ lực để có thể cung cấp tính năng này. Chúng tôi đã trải qua một thử nghiệm về nguồn gốc và nhiều cuộc thảo luận trong cộng đồng, nhờ đó đã đưa ra phiên bản mới nhất nhằm:

  • Giúp các tổ chức xác định một nhóm các trang web thuộc cùng một bên.
  • Tận dụng Storage Access API để yêu cầu quyền truy cập vào cookie trên nhiều trang web trong nhóm bên thứ nhất đó.
Nhóm bên thứ nhất chỉ cho phép một hộp cookie dùng chung giữa các trang web có liên quan

Các cookie này vẫn đang được nướng trong lò, nhưng bạn có thể tham khảo hướng dẫn dành cho nhà phát triển về Nhóm bên thứ nhất khi có thêm nhiều cookie để kiểm thử hoặc bạn có thể tham gia đề xuất WICG/first-party-sets nếu muốn đóng góp vào cuộc thảo luận.

Đừng để cookie của bạn bị cũ!

Mục tiêu của chúng tôi là bắt đầu ngừng hỗ trợ cookie của bên thứ ba trong Chrome từ giữa năm 2024. Bạn có thời gian để chuẩn bị, nhưng bạn nên bắt đầu lên kế hoạch ngay.

  1. Kiểm tra mã của bạn để tìm mọi cookie có SameSite=None. Đây là những cookie cần cập nhật.
  2. Nếu bạn không có cookie của bên thứ ba, hãy đảm bảo rằng cookie trên cùng một trang web đang sử dụng công thức cookie của bên thứ nhất tốt nhất
  3. Nếu bạn sử dụng các cookie đó trong một ngữ cảnh được nhúng, chứa đầy đủ, hãy điều tra và kiểm thử đề xuất CHIPS.
  4. Nếu bạn cần các cookie đó trên nhiều trang web tạo thành một nhóm gắn kết, hãy tìm hiểu Đề xuất về bộ của bên thứ nhất.
  5. Nếu không thuộc phạm vi của một trong hai lựa chọn này, bạn sẽ cần nghiên cứu các đề xuất khác về Hộp cát về quyền riêng tư. Chúng tôi đang phát triển các API được thiết kế riêng cho từng trường hợp sử dụng không dựa vào tính năng theo dõi trên nhiều trang web.

Đây chỉ là thông tin tổng quan ngắn gọn và chúng tôi sẽ tiếp tục chia sẻ thêm tin tức và hướng dẫn khi quá trình này diễn ra. Nếu bạn có câu hỏi, vấn đề hoặc muốn chia sẻ kết quả công việc của riêng mình, thì chúng tôi có nhiều cách để bạn liên hệ.

Vì vậy, hãy nhớ: bánh quy có thể rất ngon – nhưng chỉ nên ăn một vài cái mỗi lần và tuyệt đối không cố gắng ăn trộm bánh quy của người khác!