咱們知道,經過設置Access-Control-Allow-Credentials: true
和xhr.withCredentials = true
,能夠實現跨域傳遞Cookie
. 達到保存用戶登陸態等目的。但使用不當,也會有CSRF風險。
因此,從Chrome 51
開始,瀏覽器的Cookie
新增長了一個SameSite屬性,用來防止CSRF
攻擊和用戶追蹤。
該設置當前默認是關閉的,但在Chrome 80
以後,該功能默認已開啓。
因此當你沒法使用某些網站第三方登陸功能的時候,請查看一下是否受到了該設置的影響。html
方案1. 打開Chrome
設置,將chrome://flags/#same-site-by-default-cookies
禁用,而後重啓瀏覽器。
方案2. 使用低版本瀏覽器,可選擇極速360。chrome
方案1. 將SameSite
屬性值改成None
, 同時 將secure
屬性設置爲 true
。且須要將後端服務域名必須使用https
協議訪問。
方案2. 因爲設置SameSite = None
,有SCRF
風險,因此,最佳方案是用token
代替Cookie
方式做驗證。後端