首页 > 教程攻略 > 软件教程 >为什么谷歌浏览器无法保存某些网站的登录Cookie信息?

为什么谷歌浏览器无法保存某些网站的登录Cookie信息?

来源:互联网 时间:2026-07-06 09:18:07

说起来这事儿真够折腾人的——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或为空,说明已成功写入。