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 中的行为限制。让我详细解释一下:
核心概念
1. 第一方 vs 第三方 Cookie
- 第一方 Cookie :由用户当前访问的网站域名设置的 Cookie
- 第三方 Cookie :由其他域名(通常是嵌入的内容)设置的 Cookie
2. 嵌入祖先链
指的是 iframe 的嵌套层级关系:
主页面 (example.com)
└── iframe A (ads.com)
└── iframe B (tracker.com)
这句话的含义
“Cookie 仅在整个嵌入祖先链是同一站点的第一方 iframe 内发送” 意思是:
✅ 允许发送 Cookie 的情况
主页面: example.com
└── iframe: subdomain.example.com // 同一站点
└── iframe: another.example.com // 同一站点
在这种情况下,Cookie 可以正常发送,因为整个链条都是同一站点。
❌ 不允许发送 Cookie 的情况
主页面: example.com
└── iframe: ads.com // 不同站点
└── iframe: tracker.com // 不同站点
在这种情况下,第三方 Cookie 会被阻止。
实际影响
对开发者的影响
- 广告追踪受限 :第三方广告无法轻易跨站追踪用户
- 嵌入服务受影响 :如支付、登录、评论系统等第三方服务
- 需要调整策略 :可能需要使用
SameSite=None; Secure
或其他解决方案
对用户的好处
- 隐私保护增强 :减少跨站追踪
- 安全性提升 :降低 CSRF 攻击风险
解决方案
如果需要在第三方 iframe 中使用 Cookie,可以:
-
设置 SameSite 属性 :
document.cookie = "mycookie=value; SameSite=None; Secure";
-
使用 Partitioned Cookies (Chrome 支持):
document.cookie = "mycookie=value; SameSite=None; Secure; Partitioned";
-
改用其他存储方式 :localStorage、sessionStorage 或 postMessage 通信
这是现代浏览器为保护用户隐私而实施的重要安全措施。