描述
瀏覽器控制台警告 A cookie associated with a cross-site resource at
SameSite
attribute
參見Chrome Platform Status 與 stackoverflow - SameSite warning Chrome 77
簡述一下,chrome 自 76 版起給 cookie 加了一個屬性叫 SameSite,用於防止 CSRF 攻擊。
此屬性用於限制第三方的 cookie,擁有三個值
- Strict。完全禁止第三方 Cookie,跨域時,任何情況下都不會發送第三方 Cookie。
Set-Cookie: CookieName=CookieValue; SameSite=Strict;
- Lax。默認。多數情況不發送第三方 Cookie,但是導航到目標網址的 Get 請求除外
Set-Cookie: CookieName=CookieValue; SameSite=Lax;
導航到目標網址的 Get 請求只包括三種情況:
<a href="..."></a>
<link rel="prerender" href="..."/>
<form method="GET" action="...">
- None。
Set-Cookie: widget_session=abc123; SameSite=None; Secure
默認是 Lax,並且第三方如百度設置服務器時也不帶這個 SameSite 的配置,所以暫時無解,我們也無法做什么。可以說這是 Chrome 在推行新的標准而做的努力,總之期待一下第三方的站點后續的改進吧。