New sandbox allow-same-site-none-cookies value from Chrome 135  |  Privacy Sandbox
注意:  当您启用 allow-same-site-none-cookies 值并禁用第三方 Cookie 时,SameSite=None Cookie 仅在整个嵌入祖先链是同一站点的第一方 iframe 内发送。从本质上讲,使用 allow-same-site-none-cookie,SameSite``=None Cookie 可用于非沙盒 iframe 中仅允许 SameSite=Lax 和 SameSite=Strict Cookie 的类似方案。跨站点 Cookie 仍被阻止。

ookie 仅在整个嵌入祖先链是同一站点的第一方 iframe 内发送, 这句话描述的是浏览器中 Cookie 的 SameSite 策略 ,具体来说是关于 第三方 Cookie 在 iframe 中的行为限制。让我详细解释一下:

核心概念

  • 第一方 Cookie :由用户当前访问的网站域名设置的 Cookie
  • 第三方 Cookie :由其他域名(通常是嵌入的内容)设置的 Cookie

2. 嵌入祖先链

指的是 iframe 的嵌套层级关系:

主页面 (example.com)
  └── iframe A (ads.com)
      └── iframe B (tracker.com)

这句话的含义

“Cookie 仅在整个嵌入祖先链是同一站点的第一方 iframe 内发送” 意思是:

主页面: example.com
  └── iframe: subdomain.example.com  // 同一站点
      └── iframe: another.example.com  // 同一站点

在这种情况下,Cookie 可以正常发送,因为整个链条都是同一站点。

主页面: example.com
  └── iframe: ads.com  // 不同站点
      └── iframe: tracker.com  // 不同站点

在这种情况下,第三方 Cookie 会被阻止。

实际影响

对开发者的影响

  1. 广告追踪受限 :第三方广告无法轻易跨站追踪用户
  2. 嵌入服务受影响 :如支付、登录、评论系统等第三方服务
  3. 需要调整策略 :可能需要使用 SameSite=None; Secure 或其他解决方案

对用户的好处

  • 隐私保护增强 :减少跨站追踪
  • 安全性提升 :降低 CSRF 攻击风险

解决方案

如果需要在第三方 iframe 中使用 Cookie,可以:

  1. 设置 SameSite 属性

    document.cookie = "mycookie=value; SameSite=None; Secure";
  2. 使用 Partitioned Cookies (Chrome 支持):

    document.cookie = "mycookie=value; SameSite=None; Secure; Partitioned";
  3. 改用其他存储方式 :localStorage、sessionStorage 或 postMessage 通信

这是现代浏览器为保护用户隐私而实施的重要安全措施。

问题

同站,跨域,跨站