🔐 SameSite机制演进
Chrome 80版本(2020年2月发布)将未声明SameSite的Cookie默认设置为Lax模式[1]()[6](),这是浏览器安全领域的重大变革:
Set-Cookie: session=abc123; Path=/; SameSite=Lax
三级防御模式
- Strict:完全禁止跨站请求携带Cookie
- Lax:允许顶级导航的GET请求携带Cookie
- None:需配合Secure属性强制HTTPS传输[1]()[4]()
🛠️ 解决方案矩阵
临时调试方案
Chrome 80-90版本可通过:
chrome://flags/#same-site-by-default-cookies → Disabled
注意:Chrome 91+已移除该选项[3]()
生产环境规范
- 显式声明SameSite属性
- 配置Nginx添加响应头:
add_header Set-Cookie "Path=/; SameSite=None; Secure";
- 后端代码设置(Java示例):
response.setHeader("Set-Cookie", "session=abc; Secure; SameSite=None");
🔮 未来演进趋势
▶️ 2020:Chrome 80默认启用Lax [6]()
▶️ 2021:Chrome 91移除flag调试选项[3]()
▶️ 2023:主流浏览器全面支持新规范
最佳实践建议
- 全站启用HTTPS协议[1]()
- 敏感操作添加CSRF Token
- 使用CORS替代cookie跨域认证[5]()
▶️ 2020:Chrome 80默认启用Lax [6]()
▶️ 2021:Chrome 91移除flag调试选项[3]()
▶️ 2023:主流浏览器全面支持新规范