Chrome 80
版本在跨域名登錄時(shí)存在問(wèn)題,可能會(huì)使頁(yè)面陷入死循環(huán)的狀態(tài)睬罗,導(dǎo)致用戶無(wú)法正常登錄轨功。這主要是由于這個(gè)版本中,Chrome 的策略有所更新容达。
在舊版瀏覽器古涧,如果 SameSite
屬性沒(méi)有設(shè)置,或者沒(méi)有得到運(yùn)行瀏覽器的支持花盐,那么它的行為等同于 None
羡滑,Cookies
會(huì)被包含在任何請(qǐng)求中——包括跨站請(qǐng)求。
但是算芯,在 Chrome 80+
版本中柒昏,SameSite
的默認(rèn)屬性是 SameSite=Lax
。換句話說(shuō)熙揍,當(dāng) Cookie
沒(méi)有設(shè)置 SameSite
屬性時(shí)昙楚,將會(huì)視作 SameSite
屬性被設(shè)置為Lax
。如果想要指定 Cookies
在同站诈嘿、跨站請(qǐng)求都被發(fā)送堪旧,那么需要明確指定 SameSite
為 None
。具有 SameSite=None
的 Cookie
也必須標(biāo)記為安全并通過(guò) HTTPS
傳送奖亚。
在 Chrome 88
之前淳梦,您將能夠使用策略還原為舊版 Cookie
行為。您可以使用 LegacySameSiteCookieBehaviorEnabledForDomainList
指定受信任的域昔字,也可以使用 LegacySameSiteCookieBehaviorEnabled
控制全局默認(rèn)值爆袍。有關(guān)更多詳細(xì)信息,請(qǐng)?jiān)L問(wèn) Cookie舊版SameSite政策
:https://www.chromium.org/administrators/policy-list-3/cookie-legacy-samesite-policies作郭。
以上更新可能對(duì)以下功能造成影響:
- 跨域名登陸失效
-
jsonp
獲取數(shù)據(jù)失效 -
iframe
嵌套的頁(yè)面打不開(kāi)或異常 - 部分客戶端未改造導(dǎo)致各種數(shù)據(jù)獲取異常
建議大家針對(duì)上述更新對(duì)自己的站點(diǎn)功能在新版瀏覽器下做一些測(cè)試陨囊,以免影響功能正常使用。
你可以到 chrome://flags/
開(kāi)啟 SameSite by default cookies
夹攒、Cookies without SameSite must be secure
進(jìn)行測(cè)試蜘醋。