当前位置: 首页 > 工具软件 > IUWM-Site > 使用案例 >

第三方设置cookie提示Mark cross-site cookies as Secure to allow setting them in cross-site contex

范建华
2023-12-01

 Mark cross-site cookies as Secure to allow setting them in cross-site contexts
Learn more: SameSite cookies explained

译文:

 将跨站点cookie标记为安全,允许在跨站点上下文中设置它们使用SameSite=None标记的cookie也必须使用Secure标记,以便允许在跨站点上下文中设置它们。此行为可以防止用户数据通过不安全的连接发送。通过更新cookie的属性来解决这个问题:+指定SameSite-Rone和Secure,如果cookie打算在跨站点上下文中设置。注意,只有通过HTTPS发送的cookie可以使用安全属性。-如果cookie不应该由跨站请求设置,则指定SameSite-Strict或SameSite-Lax受影响资源5 cookie3请求了解更多:SameSite cookies解释

解决

转载:https://developer.aliyun.com/article/743364 

 

背景

Google 将在2020年2月4号发布的 Chrome 80 版本(schedule:https://www.chromestatus.com/features/schedule)中默认屏蔽所有第三方 Cookie,即默认为所有 Cookie 加上 SameSite=Lax 属性(https://www.chromestatus.com/feature/5088147346030592),并且拒绝非Secure的Cookie设为 SameSite=Nonehttps://www.chromestatus.com/feature/5633521622188032)此举是为了从源头屏蔽 CSRF 漏洞


对 DataV 用户的影响

下列已知场景会在 Chrome 80 中受到影响:

1. 组件数据基于第三方登陆态的 API 请求

检查您的组件是否使用了 API,并且 API 是否基于第三方网站的登录态返回相关用户数据,如果是,请往下看:

  • 使用的 API 为 HTTPS 协议:请看 方案三.1 
  • 使用的 API 为 HTTP 协议:请看 方案三

2. http 本地部署

  • 影响:Chrome 80 会拦截 http 协议下的登陆功能,导致整个本地部署服务无法使用
  • 解决方案:方案一 或 方案二 或 方案四

如何提前知道是否对自己的屏有影响?

Chrome 中打开 chrome://flags/#same-site-by-default-cookies 和 chrome://flags/#cookies-without-same-site-must-be-secure,并设置为 Enabled,重启浏览器,打开正在使用中的 DataV 大屏,检查所有数据是否正常返回和展示


解决方案

方案一

Chrome 中打开 chrome://flags/#same-site-by-default-cookies 和 chrome://flags/#cookies-without-same-site-must-be-secure ,设置为 Disabled ,重启浏览器

方案二

降级到 Chrome 79 及以下版本,并关闭自动更新

方案三 (适用于 API)

  1. 将 API 切换为 HTTPS 协议(需要有 SSL 证书),并且检查响应头中的 Set-Cookie 中是否包含了 SameSite=None 和 Secure字样
  2. 如果没有 HTTPS 协议的 API, 请尝试 方案一 或 方案二

方案四

改造 http 服务,购买 SSL 证书,升级到 https 服务,并执行方案三.1

 

 

 类似资料: