为什么谷歌浏览器无法保存某些网站的登录Cookie信息?
说起来这事儿真够折腾人的——Chrome 91以上版本里,本地开发时的Cookie突然失效,最直接的原因就是SameSite策略升级。说白了,这是谷歌为了防范CSRF攻击而收紧的一套安全机制。默认状态下,未显式指定SameSite属性的Cookie会被视为SameSite=Lax,于是HTTP本地环境下的Cookie直接被浏览器当成了“不合规范”的访客,拒之门外。

用Vue或者React写前端的朋友,八成遇到过这个鬼打墙的破事儿:本地环境跑得欢,http://localhost:8080上登录操作一气呵成,结果一刷新页面,Cookie没了,直接送回登录页。乍一看以为是代码写崩了,但其实问题出在Chrome从2020年就逐步收紧的SameSite策略身上。新版浏览器默认把没声明SameSite属性的Cookie当作SameSite=Lax来对待,而本地开发既没有HTTPS,又没有有效的域名,导致Cookie直接被浏览器丢弃——没错,根子就在这儿。
检查并禁用SameSite默认策略(适用于Chrome 90及以下版本)
第一步:在Chrome地址栏输入chrome://flags/,按回车进入实验性功能页面。
第二步:在页面顶部搜索框中输入same-site,页面会自动过滤出相关选项。
第三步:找到
【SameSite by default cookies】
【Cookies without SameSite must be secure】
Disabled。
第四步:点击右下角的Relaunch按钮重启浏览器——不点这个,设置不会生效。
命令行强制禁用(Chrome 91~93版本专用)
方法一(Windows):
右键Chrome快捷方式 → 选择“属性” → 在“目标”文本框末尾添加一个空格,再粘贴:--disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
注意:必须关闭所有Chrome窗口后再双击该快捷方式启动,否则参数无效。
方法二(macOS):
先完全退出Chrome(右键Dock图标 → 退出),然后打开终端,执行:open -a "Google Chrome" --args --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
清除问题网站残留Cookie数据
打开Chrome,访问出问题的本地地址(如http://localhost:3000)→ 点击地址栏左侧锁形图标 → 点击“网站设置” → 滚动到底部点击“清除数据” → 确认删除。
这一步千万不能省略。旧版SameSite策略残留的失效Cookie会干扰新策略生效,不清除的话,就算改了flag也依然无法写入——经验之谈。
验证是否生效
重启浏览器后,打开开发者工具(F12)→ 切换到Application标签页 → 左侧选中Cookies → 查看右侧是否出现你登录后服务端Set-Cookie设置的条目。若能看到且Domain为localhost或为空,说明已成功写入。
-
- 谷歌浏览器2024最新版本
- 热门软件 | 234.54MB
- 生活休闲
-
- 谷歌浏览器金丝雀最新版
- 热门软件 | 250.93MB
- 生活休闲
-
- 谷歌浏览器破解版永久免费
- 热门软件 | 132.62MB
- 生活休闲