当前位置 博文首页 > 闫玉林的博客:SameSite Cookie导致的跨域请求session保持失效
Cookie
是通过 web 浏览器从网站发送并存储在计算机上的文本字符串。 它们通常用于身份验证和个性化设置,例如,撤回有状态的信息、保留用户设置、录制浏览活动以及显示相关广告。 Cookie
始终链接到特定域,并且可以由各方安装。
在引入 SameSite
限制之前,cookie
存储在浏览器中时,它们被附加到每个HTTP web
请求,并通过设置 Cookie HTTP
响应头发送到服务器。 是可预测的,这种性能可能会引入安全漏洞,如跨站点请求伪造(CSRF
)攻击。 SameSite
组件通过其在 SetCookie
标头中的实现和管理减轻了暴露。
Google Chrome
版本51
引入了 SetCookie SameSite
规范作为可选属性。Google Chrome 80
时引入了新的cookie
值,并默认强加了cookie
策略。SameSite
属性: Strict
、宽松或无。 未指定SameSite
属性的cookie
将默认为SameSite=Lax
。默认严格:
Set-Cookie: key=value; SameSite=Lax
全 :Set-Cookie: key=value; SameSite=Strict
none:Set-Cookie: key=value; SameSite=None; Secure
,但是需要HTTPS
协议
考虑到由于COVID-19造成的全球异常情况,我们从今天开始临时回撤SameSite Cookie标签的实施。尽管大多数网络生态系统已为这一变化做好了准备,但我们希望确保提供基本服务的网站的稳定性,这些基本服务包括银行、在线食品杂货、政府服务和医疗保健,这些内容在这段时间内为我们的日常生活提供了便利。当我们回撤执行时,组织、用户和站点应该不会受到干扰。
Chrome 80+
启用的 SameSite Cookie
实施,与Chrome 84
的稳定版保持一致17672
开始,Windows 10
为Microsoft Edge
浏览器引入了 SameSite cooki
e 支持。SameSite cookie
属性添加到 SetCookie
标头,也可以使用以下两个设置之一。未实现的 SameSite
属性被视为默认状态。SameSite=None
团队桌面客户端或更早版本的Chrome
或 Safari
不支持此方法