针对Chrome 80和 Chrome 91对Cookie SameSite限制的解决方案

简介: 针对Chrome 80和 Chrome 91对Cookie SameSite限制的解决方案

正文


一、前因


由于近期 Chrome 更新,原来的配置失效了,又来更文了,哎


是这样的。由于此前我的 Chrome 浏览器一直都是安装最新 Beta 版本,但是有一天因为该浏览器  Cookie 的 SameSite 属性的限制(Chrome 80 版本以后),导致跨域请求无法携带上 Cookie 了,导致在开发过程中遇阻了。

由于不习惯在 Safari 或者 Firefox 浏览器上进行开发,主要是操作习惯不太一样,而且一些插件的原因,也用着不舒服。就想着先安装旧版的浏览器继续开发,别耽误项目进度。当然这是权宜之计。


二、解决方法


自 Chrome 80 版本起,Chrome 更新了 SameSite 属性的默认值,由 None 改成了 Lax,主要用于限制第三方 Cookie,减少安全风险和用户追踪。同时,基于 Chromium 的 Edge 浏览器,在对应版本也会有此限制哦。


方案一(不推荐)

安装 Chrome 80 以下版本。


方案二:针对 Chrome 80 以上,Chrome 91 以下的浏览器

浏览器地址输入 chrome://flags/ 并前往 ,搜索 SameSite by default cookiesCookies without SameSite must be secure,将这两项设置为 Disabled,然后重启浏览器


方案三:针对 Chrome 91 及更新版本

近期将 Google Chrome 升级到 91 版本之后,将上述提到的 SameSite by default cookiesCookies without SameSite must be secure 直接屏蔽并设置为默认值(Default),所以我们原来的配置失效了,且再也无法通过上述方式去修改配置了。


其中一个解决方法,还是降级到 Chrome 91 以下(仍然不推荐)。


  • Win 平台:

完全关闭 Chrome 浏览器的前提下,打开 Chrome 浏览器快捷方式,在目标后添加 --disable-features=SameSiteByDefaultCookies 保存。


478.webp.jpg

Win 平台未亲测,方案和配图源自:NgZaamPaang


  • Mac 平台:

前提还是完全关闭浏览器,根据不同的浏览器,选择不同的启动命令,在终端执行命令打开。

# Google Chrome
$ open -a "Google Chrome" --args --disable-features=SameSiteByDefaultCookies
# Microsoft Edge by Chromium
$ open -a "Microsoft Edge" --args --disable-features=SameSiteByDefaultCookies


方案四:针对未来版本(94 版本)


Chromium 项目官网提到在 94 版本通过命令行禁用设置 SameSite 默认值的方式会被移除,届时方案二和方案三的方式都将无法使用,后续可通过 Nginx 等代理工具或软件将跨域请求转为非跨域请求来解决改问题。

官方描述如下

The flags #same-site-by-default-cookies and #cookies-without-same-site-must-be-secure have been removed from chrome://flags as of Chrome 91, as the behavior is now enabled by default. In Chrome 94, the command-line flag --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure will be removed.


四、浏览器下载


Chrome 浏览器


说明一下:standalone=1 参数表示离线包,去掉属于在线安装。


如果我们想要下载历史版本的怎么办?


这里有个通用的下载地址,但是前提是,你需要知道想要下载的历史版本的版本号,挺蛋疼的是对吧。

下载地址是:http://dl.google.com/chrome/install/[版本号后两位]/chrome_installer.exe

假如要下载的版本号是 15.0.874.102,那么后两位就是 874.102,输入地址:http://dl.google.com/chrome/install/874.102/chrome_installer.exe 即可下载。

该方法仅限于 Win 版,至于 Mac 版没找到方法,无奈。

Firefox 浏览器


五、参考


目录
相关文章
|
Python
python中3种获取cookie解决方案
python中3种获取cookie解决方案
240 0
|
7月前
|
Web App开发 前端开发 JavaScript
控制台出现报错DevTools failed to load source map: Could not load content for chrome-extension://的原因及解决方案
控制台出现报错DevTools failed to load source map: Could not load content for chrome-extension://的原因及解决方案
384 0
控制台出现报错DevTools failed to load source map: Could not load content for chrome-extension://的原因及解决方案
|
2月前
|
Python
python中3种获取cookie解决方案
python中3种获取cookie解决方案
23 0
|
4月前
|
Java 应用服务中间件 nginx
【Azure 环境】Azure应用程序网关设置set_Cookie=key=value; SameSite=Strict; HTTPOnly,AzureAD登录使用cookie时使用不了的案例记录
【Azure 环境】Azure应用程序网关设置set_Cookie=key=value; SameSite=Strict; HTTPOnly,AzureAD登录使用cookie时使用不了的案例记录
|
5月前
|
Web App开发 前端开发
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
150 0
|
7月前
|
存储 移动开发 缓存
多个WKWebView页面的cookie不共享问题及解决方案
多个WKWebView页面的cookie不共享问题及解决方案
151 0
|
7月前
|
Web App开发 安全 前端开发
新一代WebOffice高版本谷歌Chrome打开、编辑、保存微软Office/金山WPS解决方案大盘点
随着互联网技术的不断发展,越来越多的企业开始采用在线办公模式,微软Office Word 是最好用的文档编辑工具,然而doc、docx、xls、xlsx、ppt、pptx等格式的Office文档是无法直接在浏览器中直接打开的,如果可以实现Web在线预览编辑OffIce,肯定会还带来了更高效、便捷的办公体验,为我们的工作带来了更多可能性。
828 10
|
Web App开发
【cookie处理】79chrome浏览器 -允许浏览器cookie策略处理
【cookie处理】79chrome浏览器 -允许浏览器cookie策略处理
|
Web App开发 前端开发 Java
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
1494 0
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
|
Web App开发 安全 内存技术
新版谷歌Chrome取消对PPAPI插件支持后,浏览器网页打开编辑保存微软Office、金山WPS文档解决方案
最近陆续看到一些大学发布公告,谷歌Chrome取消了对PPAPI插件支持,导致某些在线Office厂家产品将无法在谷歌Chrome107及以上版本运行,被迫更换360浏览器或者使用低版本Chrome浏览器苟延残喘。
408 0
新版谷歌Chrome取消对PPAPI插件支持后,浏览器网页打开编辑保存微软Office、金山WPS文档解决方案