Cookie của bên thứ ba có nhiều công dụng, nhưng cũng là một yếu tố quan trọng thúc đẩy hoạt động theo dõi trên nhiều trang web.
Chrome đang đề xuất một trải nghiệm mới mà người dùng có thể lựa chọn dựa trên cookie của bên thứ ba. Bạn cần chuẩn bị trang web của mình cho những người dùng chọn duyệt web mà không sử dụng cookie của bên thứ ba.
Trên trang này, bạn sẽ tìm thấy thông tin về các giải pháp bảo đảm quyền riêng tư cho những tình huống được nhúng trước đây dựa vào cookie của bên thứ ba, cùng các chiến lược để giúp bạn chọn giải pháp phù hợp nhất với nhu cầu của mình.
Dịch vụ được nhúng hoặc nội dung nhúng có chứa nội dung của bên thứ ba (chẳng hạn như video, bản đồ), thành phần tương tác (chẳng hạn như cuộc trò chuyện, hệ thống nhận xét hoặc dịch vụ thanh toán), dịch vụ đăng nhập và nhiều nội dung khác.
Hầu hết công việc để chuyển đổi từ cookie của bên thứ ba cần phải do các nhà phát triển nhúng thực hiện, chứ không phải các trang web lưu trữ nội dung nhúng. Tài liệu hướng dẫn này chủ yếu sẽ thảo luận về các giải pháp dành cho những nhà phát triển tạo các dịch vụ được nhúng.
Nếu trang web của bạn dựa vào một nhúng có sử dụng cookie của bên thứ ba, hãy nhớ kiểm tra và kiểm tra các hành trình liên quan đến việc nhúng, đồng thời liên hệ với các nhà cung cấp dịch vụ nhúng nếu bạn phát hiện thấy bất kỳ sự cố nào.
Kiểm tra và kiểm thử hành trình của người dùng liên quan đến nội dung nhúng
Cách tốt nhất để xác định xem nội dung nhúng của bạn có bị ảnh hưởng bởi cookie của bên thứ ba hay không là kiểm tra luồng người dùng được nhúng của bên thứ ba có bật cờ kiểm tra cookie của bên thứ ba.
Sau khi bạn đã hạn chế cookie của bên thứ ba, hãy kiểm tra các tình huống nhúng phổ biến sau:
- Tiện ích trò chuyện: Bạn có thể bắt đầu phiên trò chuyện không? Bạn có thể làm mới trang mà không bị mất phiên của mình không? Bạn có thể điều hướng đến các trang khác và duy trì phiên của mình không?
- Số lượt nhúng nội dung: Bạn có thể xem nội dung video hoặc nội dung được nhúng khác không? Các lựa chọn ưu tiên của người dùng, chẳng hạn như ngôn ngữ hoặc phụ đề, có được duy trì không? Bạn có nhìn thấy quảng cáo như dự kiến không, chẳng hạn như không nhìn thấy quảng cáo trong vai trò người đăng ký trả phí?
- Đăng nhập: Thông tin đăng nhập (bao gồm cả mọi thông tin đăng nhập Đăng nhập một lần (SSO)) có hoạt động với các lượt nhúng hỗ trợ chúng không? Các lượt chuyển đổi này có được duy trì thông qua các lần tải lại trang và điều hướng đến các trang sử dụng cùng các lượt nhúng không?
- Tiện ích nhận xét: Bạn có thể để lại, thích và tán thành bình luận không?
- Giải pháp thanh toán được nhúng: Bạn có thể hoàn tất thanh toán thành công không?
Trong các phần tiếp theo, bạn sẽ tìm thấy thông tin cụ thể hơn về việc những quy trình đó có thể bị ảnh hưởng như thế nào.
Các trường hợp sử dụng phổ biến
Có một số API có thể được dùng để nhúng mà trước đây thường dựa vào cookie của bên thứ ba. Bảng sau đây liệt kê một số quy trình công việc phổ biến và các API nên dùng làm bản tóm tắt cấp cao. Các phần sau đây sẽ giải thích lý do cho những đề xuất này.
Trường hợp sử dụng | API nên dùng để sử dụng cookie của bên thứ ba |
---|---|
Tiện ích trò chuyện | CHIPS |
Nhúng bản đồ | CHIPS |
Miền hộp cát cho nội dung không đáng tin cậy của người dùng (chẳng hạn như googleusercontent.com và githubusercontent.com) cần có phạm vi trạng thái theo nhà xuất bản |
CHIPS |
Quảng cáo được nhúng cần có trạng thái trong phạm vi mỗi nhà xuất bản | CHIPS |
Đăng nhập thông qua nhà cung cấp danh tính | FedCM |
Nhúng được lưu trữ trên các nguồn gốc khác nhau nhưng có liên quan. | API Truy cập bộ nhớ với Bộ trang web có liên quan |
Nội dung nhúng có lựa chọn ưu tiên dựa trên thông tin đăng nhập (chẳng hạn như nội dung video không có quảng cáo hoặc lựa chọn ưu tiên về ngôn ngữ/phụ đề) |
API Truy cập bộ nhớ |
Tiện ích bình luận trên mạng xã hội yêu cầu đăng nhập | API Truy cập bộ nhớ |
Chọn API để sử dụng cho các trường hợp sử dụng của bên thứ ba được nhúng
Phần này hướng dẫn cách chọn API thay thế thích hợp và giải thích các API được đề xuất.
Sơ đồ quy trình sau giúp bạn chọn từ các tùy chọn có sẵn:
Sơ đồ quy trình hỏi ba câu hỏi chính, chúng ta sẽ xem xét những câu hỏi đó chi tiết hơn cũng như lý do bạn nên dùng một API nhất định trong mỗi trường hợp.
1. Cookie có dành riêng cho trang web nhúng không?
Nhiều nội dung nhúng của bên thứ ba được sử dụng một cách độc lập trên các trang web hoàn toàn không liên quan. Ví dụ: các tiện ích trò chuyện cho dịch vụ hỗ trợ khách hàng thường yêu cầu cookie phải hoạt động, nhưng không cần phải chia sẻ các cookie này giữa hai tổ chức hoàn toàn khác nhau vì cả hai đều sử dụng cùng một giải pháp tiện ích trò chuyện. Trên thực tế, lựa chọn ưu tiên này thậm chí sẽ không cho phép chia sẻ cookie trong nhiều trường hợp như vậy.
Nếu bạn cung cấp dịch vụ nhúng của bên thứ ba cho các trang web khác và dịch vụ đó dựa vào cookie, hãy cân nhắc xem các cookie đó có dành riêng cho dịch vụ trên trang web nhúng dịch vụ đó hay không. Các video này có bao giờ được chia sẻ qua các trường hợp bạn nhúng trên các trang web khác không?
Nếu không cần chia sẻ cookie, thì phân vùng cookie bằng cách sử dụng CHIPS là phương pháp dễ nhất. API này liên kết cookie của bên thứ ba với trang web cấp cao nhất, thay vì cho phép chia sẻ cookie bởi tất cả các trang web sử dụng cùng một phương thức nhúng của bên thứ ba. CHIPS rất dễ triển khai vì chỉ yêu cầu thêm thuộc tính Partitioned
bổ sung vào các cookie hiện có. Điều này cho phép các dịch vụ được nhúng vẫn lưu trạng thái, nhưng sẽ xoá bộ nhớ trên nhiều trang web dùng chung cho phép theo dõi trên nhiều trang web.
Các trang web cũng phải kiểm tra xem cookie có đang được sử dụng đúng mục đích hay không. Bạn chỉ nên sử dụng cookie khi cookie được đặt hoặc cần được gửi cùng với yêu cầu HTTP. Nếu không phải trường hợp này và cookie chỉ được dùng như một lựa chọn lưu trữ thuận tiện, thì bạn nên cân nhắc sử dụng các API lưu trữ khác nhau. Thao tác này sẽ lưu dữ liệu cục bộ khi không cần gửi. Các API lưu trữ đã được phân vùng trong tất cả các trình duyệt chính, theo cách tương tự như CHIPS phân vùng cookie.
2. Cookie có phải của nhà cung cấp danh tính bên thứ ba không?
Một cách sử dụng cookie của bên thứ ba phổ biến trong nội dung nhúng là để cung cấp tính năng đăng nhập do nhà cung cấp dịch vụ đăng nhập bên thứ ba quản lý, chẳng hạn như tính năng Đăng nhập bằng Google. Bạn không thể sử dụng cookie được phân vùng trong trường hợp này.
Quản lý thông tin xác thực liên kết (FedCM) là một API dành riêng cho trường hợp sử dụng này và hoạt động mà không cần cookie của bên thứ ba. Nếu FedCM được nhà cung cấp danh tính hỗ trợ thì việc này có thể không cần đến cookie của bên thứ ba.
Bạn có thể đọc thêm về cách giải quyết ảnh hưởng của cookie của bên thứ ba đối với quy trình đăng nhập trong hướng dẫn nhận dạng.
3. Cookie có được sử dụng trên một số ít các trang web có liên quan không?
Nếu không có lựa chọn nào trước đây là lựa chọn thay thế phù hợp cho cookie, thì bạn cần xem xét việc bật lại quyền truy cập vào cookie của bên thứ ba cho nội dung nhúng. Bạn có thể bật tính năng này trong các trường hợp sử dụng cụ thể, được kiểm soát thông qua API Truy cập bộ nhớ. API này cho phép truy cập lại vào toàn bộ cookie của bên thứ ba (tuỳ thuộc vào các chế độ kiểm soát). Do đó, đây là lựa chọn mạnh mẽ nhất. Đó là lý do đề xuất nên tránh sử dụng thuộc tính này nếu có một lựa chọn thay thế hạn chế hơn.
Có một số yêu cầu để sử dụng Storage Access API:
- Trước đây, người dùng phải đã truy cập vào trang web nhúng ở cấp cao nhất. Ví dụ: nếu nhúng hệ thống nhận xét thì người dùng cũng phải truy cập vào trang web của hệ thống nhận xét đó.
- Người dùng cần tương tác với mục nhúng trước khi có thể chia sẻ cookie. Điều này có nghĩa là có thể bạn sẽ không tải được toàn bộ nội dung được nhúng trước khi người dùng tương tác.
- Người dùng có thể cần phải chấp thuận việc chia sẻ cookie với một cửa sổ trình duyệt bật lên, đặc biệt là vào lần đầu tiên và định kỳ sau đó.
- Trang web nhúng cũng có thể cần đặt thuộc tính hộp cát bổ sung.
Những quy định hạn chế này giúp đảm bảo việc bật lại cookie của bên thứ ba chỉ được thực hiện khi người dùng và trang web mong đợi điều này. Tuy nhiên, trong một số trường hợp nhất định, các thao tác của người dùng có thể bị bỏ qua. Ví dụ: nếu gần đây người dùng đã phê duyệt quyền truy cập, thì có thể không cần nhắc lại trong một khoảng thời gian (theo quy định của trình duyệt).
Một trường hợp khác mà người dùng có thể mong đợi điều này là dành cho các trang web có liên quan. Ví dụ: một số tổ chức sử dụng một số nguồn gốc khác nhau, được trình duyệt xem là nhiều trang web nên việc sử dụng cookie trên các nguồn gốc đó được coi là bên thứ ba. Ví dụ: Các thương hiệu có trang web theo quốc gia (chẳng hạn như example.com và example.co.uk) hoặc các trang web theo thương hiệu (chẳng hạn như example.car và example.house).
Trong trường hợp này, nếu có một số ít trang web có liên quan, bạn có thể sử dụng Bộ trang web có liên quan. Các trang web được gửi tới Chrome để Chrome biết rằng các trang web đó có liên quan. Điều này cho phép truy cập vào Storage Access API theo cách thân thiện với người dùng hơn với ít lời nhắc người dùng hơn.
Đối với các trang web không liên quan nhưng thực ra là bên thứ ba, và ở những trang web bắt buộc phải có toàn quyền truy cập vào cookie của bên thứ ba vì các API thay thế là chưa đủ, thì việc sử dụng Storage Access API sẽ phải tuân thủ toàn bộ yêu cầu và lời nhắc.
So sánh các API khác nhau
Mỗi giải pháp có những đặc điểm và hạn chế hơi khác nhau nên là lựa chọn tốt hơn cho một số trường hợp sử dụng nhất định. Bảng sau đây tóm tắt các điểm khác biệt chính:
CHIPS | Bộ nhớ phân vùng | FedCM | API Truy cập bộ nhớ với các Nhóm WebSite có liên quan | API Truy cập bộ nhớ | |
---|---|---|---|---|---|
Người dùng không cần phải trước đây đã truy cập vào bên được nhúng dưới dạng trang web cấp cao nhất | |||||
Không yêu cầu người dùng nhắc phê duyệt quyền truy cập | |||||
Không yêu cầu người dùng tương tác với nội dung nhúng | (Cũng có thể đúng với các trang web được nhúng có quyền truy cập cấp cao nhất.) |
||||
Nỗ lực triển khai | Rất thấp | Thấp | Cao | Phương tiện | Phương tiện |
Có thể dùng để chia sẻ cookie giữa nhiều trang web/nguồn gốc cấp cao nhất | (Đề xuất dưới sự tranh luận.) |
||||
Có trên các trình duyệt không phải Chromium | (Chuyển về API Truy cập bộ nhớ.) |
Hỗ trợ các trường hợp sử dụng trên nhiều trình duyệt
Khả năng tương thích của trình duyệt là một trong những yếu tố chính khi quyết định một giải pháp, như đã đề cập ở dòng cuối cùng của bảng. Một số API (CHIPS, FedCM, Bộ trang web có liên quan) chỉ hoạt động trên trình duyệt Chromium. Hai giải pháp duy nhất trên nhiều trình duyệt hiện tại là API bộ nhớ được phân vùng (khi không yêu cầu cookie) hoặc API Truy cập bộ nhớ (khi cần có cookie).
Tuy nhiên, như đã lưu ý trước đây, API Truy cập bộ nhớ có một số hạn chế có thể ảnh hưởng đến trải nghiệm người dùng trên trang web của bạn. Nhóm Chrome đã nỗ lực bổ sung các API khác, vốn được thiết kế để đáp ứng các trường hợp sử dụng cụ thể và mang lại trải nghiệm tương tự như trải nghiệm đã có được với cookie của bên thứ ba. Do đó, bạn nên cân nhắc xem các lựa chọn tốt nhất là gì và coi những lựa chọn này là những tính năng nâng cao tăng dần, cùng với phương án dự phòng cho Storage Access API dành cho các trình duyệt không hỗ trợ.
Vì cookie có thể bị chặn vì một số lý do (ví dụ: chế độ cài đặt của trình duyệt, tiện ích), nên việc phát hiện tính năng hỗ trợ API có thể là chưa đủ. Thay vào đó, tốt nhất bạn nên kiểm tra xem cookie dự kiến có tồn tại hay không và nếu không, hãy quay lại quy trình làm việc của API Truy cập bộ nhớ để yêu cầu quyền truy cập vào cookie của bên thứ ba.
Hãy hành động ngay!
Nếu tính năng nhúng của bên thứ ba không còn hoạt động được nếu không dùng cookie của bên thứ ba, thì bạn có thể sử dụng nhiều giải pháp để giải quyết tác động có thể xảy ra, như nêu chi tiết trong buổi trò chuyện này. Bây giờ là thời điểm kiểm tra dịch vụ của bạn để xem có sử dụng cookie của bên thứ ba hay không!
Đối với những người hiện đang gặp sự cố với nội dung nhúng khi Chrome đang thử nghiệm việc xóa cookie của bên thứ ba, thì có một số giải pháp ngắn hạn để trợ giúp trong khi chuyển sang các giải pháp thay thế được mô tả trong bài đăng này. Hãy tham khảo tài liệu về việc duy trì trải nghiệm người dùng tối quan trọng để biết thêm thông tin.
Nếu có thắc mắc về các trường hợp sử dụng tính năng nhúng của bên thứ ba không được đề cập trong hướng dẫn này, bạn có thể nêu ra vấn đề mới thông qua việc "ngừng sử dụng cookie của bên thứ ba" thẻ trong kho lưu trữ hỗ trợ dành cho nhà phát triển của chúng tôi.