Cách giải quyết thuộc tính `SameSite`


9

Tôi nhìn vào bảng điều khiển và nhận thấy những cảnh báo này

Một cookie được liên kết với tài nguyên trên nhiều trang web tại http://google.com/ đã được đặt mà không có thuộc tính SameSite. Bản phát hành Chrome trong tương lai sẽ chỉ phân phối cookie với các yêu cầu trên nhiều trang nếu chúng được đặt với SameSite = Không và Bảo mật. Bạn có thể xem lại cookie trong các công cụ dành cho nhà phát triển trong Ứng dụng> Lưu trữ> Cookie và xem thêm chi tiết tại https://www.chromestatus.com/feature/5088147346030592https://www.chromestatus.com/feature/5633521622188032 .

Làm thế nào để giải quyết nó?



Tham khảo điều này: web.dev/samesite-cookies-explained Có lẽ nó phải liên quan đến tên miền và TLD của bạn.
vS12

@ vS12 Nó có thêm phần này vào đầu mã của tôi không? github.com/GoogleChromeLabs/samesite-examples/blob/master/ mẹo
Tiago

Tôi đoán vậy, bởi vì nó được đặt trong các tiêu đề của yêu cầu.
vS12

Chỉnh sửa văn bản nhỏ cho rõ ràng
Tedinoz

Câu trả lời:


3

Một giải pháp hiệu quả với tôi:

Nếu bạn đang sử dụng PHP, hãy thêm dòng này vào đầu

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');


Cập nhật Dưới đây là một tài nguyên hữu ích bao gồm các ví dụ trong JavaScript, Node.js, PHP và Python
https://github.com/GoogleChromeLabs/samesite-examples


4
Vẫn tiếp tục. Tôi đặt mã ở đầu tệp index.php và vẫn còn lỗi.
Tiago

Điều này sẽ không hoạt động đối với các tài nguyên bên ngoài không thay đổi cài đặt cookie của họ. Xem github.com/GoogleChromeLabs/samesite-examples/issues/,
Mike Kormendy

3

Bạn không thể làm gì cho đến khi nhà phát triển / quản trị viên của Google (và nhà phát triển / quản trị viên của các tài nguyên bên ngoài khác) sửa đổi tập lệnh / máy chủ của họ để bao gồm các cài đặt cookie cần thiết cho cookie mà họ tạo khi trang web của bạn bao gồm chúng. Xem thêm thông tin tại đây:

https://github.com/GoogleChromLabs/samesite-examples/issues/4#issuecomment-548598318

Nếu bạn đang gỡ lỗi trang web của mình, bạn có thể tạm thời bỏ qua các mục đó trong bảng điều khiển công cụ dành cho nhà phát triển của Chrome bằng cách thêm bộ lọc này vào hộp bộ lọc:

-SameSite=None

Ví dụ:

Ví dụ về -SameSite = Không có bộ lọc trong bảng điều khiển công cụ dành cho nhà phát triển của Chrome


1

Tệp .htaccess của bạn có chứa mã cookie không đặt tiêu đề không? và bạn sử dụng cdn và bộ nhớ cache của nó như cloudflare.

Nếu vậy, chỉ cần xóa mã trong htaccess


Xin chào, tôi không sử dụng cloudflare. Nó có thể là gì?
Tiago

Tôi nghĩ rằng liên kết này là câu trả lời tốt nhất cho stackoverflow.com/questions/24129201/ cấp
Hans Ganteng

Xem nếu tôi làm đúng. Bên trong htacess của tôi, tôi thêm dòng này Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"?
Tiago
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.