Kể từ Chrome 100, bản dùng thử theo nguyên gốc CHIPS sẽ cho phép chọn cookie "được phân vùng" với một ngăn chứa cookie riêng cho mỗi trang web cấp cao nhất.
Các thay đổi
- Tháng 9 năm 2022: Xem thông tin mới nhất về cách kéo dài thời gian dùng thử theo nguyên gốc thông qua Chrome 106.
- Tháng 8 năm 2022: Xoá yêu cầu về
path=/
(xem github.com/privacycg/CHIPS/pull/49). - Tháng 6 năm 2022: Kể từ Chrome 104, việc đặt cookie có thuộc tính
Partitioned
không còn yêu cầu bỏ qua thuộc tínhDomain
nữa. - Tháng 5 năm 2022: Kể từ Chrome 103, bạn không cần phải gửi tiêu đề
Accept-CH: Sec-CH-Partitioned-Cookies
để chọn tham gia bản dùng thử theo nguyên gốc nữa.
CHIPS (Cookie có trạng thái được phân vùng độc lập) là gì?
Cookie có trạng thái phân vùng độc lập (CHIPS) là một đề xuất trong Hộp cát về quyền riêng tư cho phép nhà phát triển chọn sử dụng cookie "được phân vùng" với các hộp cookie riêng cho mỗi trang web cấp cao nhất.
Cookie của bên thứ ba được phân vùng sẽ liên kết với trang web cấp cao nhất được đặt ban đầu và không thể truy cập được từ trang web khác. Mục đích là cho phép dịch vụ bên thứ ba đặt cookie nhưng chỉ đọc cookie trong bối cảnh trang web cấp cao nhất nơi cookie được đặt ban đầu.
Bản dùng thử theo nguyên gốc dành cho ai?
Bản dùng thử này được cung cấp dưới dạng bản dùng thử theo nguyên gốc của bên thứ ba, cho phép các nhà cung cấp nội dung được nhúng dùng thử một tính năng mới trên nhiều trang web.
Nếu một trang web đăng ký dùng thử với tư cách là bên thứ nhất thì tính năng phân vùng cookie cũng sẽ áp dụng cho mọi nhà cung cấp nội dung bên thứ ba trên trang web đó. Các nhà cung cấp bên thứ ba này cũng sẽ nhận được các tiêu đề HTTP bổ sung, cho biết họ đã đăng ký sử dụng bản dùng thử theo nguyên gốc.
Bản dùng thử này sẽ chạy trong bao lâu?
Bản dùng thử sẽ có từ Chrome 100 đến Chrome 105. Kiểm tra lịch phát hành Chrome để biết các ngày phát hành dự kiến.
Cách đăng ký bản dùng thử theo nguyên gốc
Điều kiện tiên quyết
Chrome phiên bản ổn định 103.
Các bước
Để đăng ký dùng thử theo nguyên gốc và nhận mã thông báo cho miền của bạn, hãy truy cập vào trang dùng thử theo nguyên gốc CHIPS.
Đưa tiêu đề
Origin-Trial
vào mã thông báo hợp lệ trong mọi phản hồi có tiêu đềSet-Cookie
chứaPartitioned
:Origin-Trial: <ORIGIN TRIAL TOKEN>
Thêm thuộc tính
Partitioned
vào cookie theo một trong hai cách sau:Trong
Set-Cookie
tiêu đề:Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
Trong JavaScript:
cookieStore.set({ name: '__Host-name', value: 'value', secure: true, path: '/', sameSite: 'none', // Set a partitioned cookie using the attribute below. partitioned: true, });
Ví dụ:
Các trang web tham gia bản dùng thử theo nguyên gốc phải bao gồm các tiêu đề sau trong phản hồi:
Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
Xác minh rằng ứng dụng đang hoạt động
Kiểm tra tiêu đề
Nếu bạn đã chọn tham gia bản dùng thử theo nguyên gốc thành công và đặt cookie được phân vùng, thì các yêu cầu tiếp theo từ ứng dụng Chrome sẽ bao gồm tiêu đề yêu cầu Sec-CH-Partitioned-Cookies: ?0
cho đến khi phiên hiện tại kết thúc.
Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value
Nếu trang web của bạn nhận được cookie mà không có gợi ý ứng dụng này, thì việc chọn tham gia bản dùng thử theo nguyên gốc đã không thành công và cookie bạn nhận được không được phân vùng.
Những câu trả lời không chứa tiêu đề Set-Cookie
có Partitioned
sẽ không ảnh hưởng đến trạng thái tham gia bản dùng thử theo nguyên gốc của trang web.
Nếu bạn không phản hồi bằng mã thông báo hợp lệ trong tiêu đề Origin-Trial
, thì các cookie được phân vùng trên máy sẽ được chuyển đổi thành cookie không được phân vùng.
Để biết thêm thông tin, hãy xem tài liệu về CHIPS trên chromium.org.
Công cụ cho nhà phát triển
- Chuyển đến
chrome://flags/#partitioned-cookies
rồi thay đổi chế độ cài đặt thành "Bật". - Khởi động lại Chromium bằng cách nhấp vào nút "Chạy lại" ở góc dưới cùng bên phải hoặc bằng cách chuyển đến chrome://restart.
- Truy cập vào
chrome://settings/cookies
và đảm bảo bạn đã đặt nút chọn thành "Allow all cookies" (Cho phép tất cả cookie) hoặc "Chặn cookie của bên thứ ba ở Chế độ ẩn danh". - Tải trang web bằng nhúng.
- Mở Công cụ cho nhà phát triển rồi chọn Ứng dụng > Cookie > yourSite và tìm cột Khoá phân vùng trong Công cụ cho nhà phát triển.
Thông tin chi tiết khác
Yêu cầu về cookie
- Cookie được phân vùng phải được đặt bằng
Secure
. (Path=/
không còn cần thiết: vui lòng truy cập vào github.com/privacycg/CHIPS/pull/49). - Bạn không thể sử dụng thuộc tính
SameParty
cùng vớiPartitioned.
Chrome sẽ thực thi các quy tắc này đối với các cookie được đặt có thuộc tính Partitioned
bất kể phân vùng cookie đang bật hay tắt. Những cookie được đặt không chính xác sẽ bị từ chối.
Nếu tính năng phân vùng cookie bị tắt nhưng cookie được đặt bằng các thuộc tính chính xác, thì Chrome sẽ bỏ qua thuộc tính Partitioned
và cookie thu được sẽ vẫn được gửi trong các yêu cầu đến máy chủ lưu trữ trên các trang web cấp cao nhất khác với nơi cookie được đặt.
Cookie được phân vùng cũng phải bao gồm thuộc tính SameSite=None
để cho phép gửi cookie trong ngữ cảnh bên thứ ba trong các trình duyệt không hỗ trợ phân vùng cookie.
JavaScript và trình chạy dịch vụ
Các khung chọn tham gia bản dùng thử theo nguyên gốc sẽ có quyền đọc và ghi cookie được phân vùng bằng API JavaScript như document.cookie
và API CookieStore. Các khung không có trong tập lệnh của thử nghiệm sẽ không thể đọc hoặc ghi cookie được phân vùng.
Bản dùng thử theo nguyên gốc CHIPS không được hỗ trợ trong trình chạy dịch vụ.
Thu hút và chia sẻ ý kiến phản hồi
- Nêu vấn đề và theo dõi nội dung thảo luận trên GitHub.
- Đặt câu hỏi và tham gia thảo luận trên kho lưu trữ hỗ trợ nhà phát triển Hộp cát về quyền riêng tư.
- Khám phá các cách khác nhau để đưa ra ý kiến phản hồi về các đề xuất trong Hộp cát về quyền riêng tư.