chrome更新到80以上版本后,带来的跨域请求cookie丢失问题

cookie的SameSite属性默认值由None变为Lax

此时可以尝试显式声明 Cookie 的SameSite属性为None,并设置Secure (不然无效)。

Cookie 的SameSite属性用来限制第三方 Cookie,从而减少安全风险。

更多参考:谷歌浏览器 Cookie 的 SameSite 属性 (转)

它可以设置三个值。

Strict
Lax
None
None

Chrome 计划将Lax变为默认设置(80版本已实施)。这时,网站可以选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。

下面的设置无效。

Set-Cookie: widget_session=abc123; SameSite=None
下面的设置有效。

Set-Cookie: widget_session=abc123; SameSite=None; Secure

推荐解决方案:

1.针对正式运行引用,拒绝使用跨域的cookie

2.针对测试,使用,提供方案如下:

第一步:

打开chrome 输入 chrome://flags/ 搜索 SameSite by default cookies

找到SameSite by default cookies和Cookies without SameSite must be secure
将上面两项设置为 Disable

第二步:

底部relaunch 重新加载下即可

转自CSDN博主「小熊代码加」的原创文章
原文链接:https://blog.csdn.net/qq_36648555/article/details/109068482

但是chrome升级91版本后Chromium直接把选项SameSite by default cookies和Cookies without SameSite must be secure 给关了而且设置成默认开启, 那就没办法在flag里设置了.

但是文中还写了"In Chrome 94, the command-line flag
–disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
will be removed",
也就是说这个SameSiteByDefaultCookies和CookiesWithoutSameSiteMustBeSecure还没有被移除,
但是这个所谓的command-line flag是个什么东西呢?

这个command-line flag是只在启动Choromium时所带的参数, 在windows中可以通过修改应用的快捷方式目标属性来给启动的应用加上参数.

Chromium支持的command-line flag, 具体操作过程如下:

  1. 在右击Chrome/Edge的快捷方式, 点击"属性".

  2. 在"目标(Target)"属性中末尾加上

 --flag-switches-begin --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure --flag-switches-end

Mac
在终端中执行命令

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/nantian/Documents/MyChromeDevUserData --flag-switches-begin --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure --flag-switches-end

然后重启浏览器就可以了. 但是这种办法也不是长久之计,据说94版本之后这个方法也不可以了,按照官方的说法是因为如果任由开发者禁用这两个选项, 开发者就会变成容易被攻击的目标. 因此为了保护开发者, Chromium选择逐渐关闭这个通道.

转自 https://gadzan.com/chrome-edge-91hou

上述方法后来都不好用了,最终解决方式:
cmd找到chrome安装的位置,然后运行:chrome.exe --disable-web-security --user-data-dir=C:\MyChromeDevUserData

chrome更新到80以上版本后,带来的跨域请求cookie丢失问题相关推荐

  1. 前后端分离后产生的跨域问题sessionid丢失,cookies无法写入等

    文章目录 前言 一.会话机制 1. 何为一次会话,会话从什么时候开始,从什么时候结束? 2.cookies如何保持会话,它的工作流程? 3.session原理分析: 实例记录sessionid变化(前 ...

  2. ajax 请求_前端后分离Ajax跨域请求保证Session一致

    JAVA码牛牛,程序员学习指南 前后端分离的项目,使用Ajax请求一般都出现跨域的问题. 跨域的时候所创建的session是不会被浏览器保存下来的.所以每次进行跨域请求时,服务器都认为不是同一个浏览器 ...

  3. RN Error: 无法获取此包的编译时间戳。请更新react-native-update到最新版本后重新打包上传。

    老项目:RN 0.44.0 react-native-update 4.0.6 注意:如果网不行那得开4G或者5G 之前热更新的时候遇到这样的问题 请问如何进行操作 : edz$ pushy uplo ...

  4. Windows 11 - 打开操作安全中心提示 “需要使用新应用以打开此 Windowsdefender 链接“ 解决方案(电脑更新了 Win11 系统版本后,想关闭病毒防护盾牌的时候提示打不开)

    前言 注意:此问题出现在 Windows 11 系统 上,其他系统可作为参考. 当您点击任务栏上 此图标,想要关闭安全中心防护设置时, 出现了如下图所示问题,本文可以快速帮您解决: 第一步 搜索 Po ...

  5. vue加跨域代理静态文件404_解决vue本地环境跨域请求正常,版本打包后跨域代理不起作用,请求不到数据的方法——针对vue2.0...

    问题:在本地使用了proxyTable代理可以正常跨域请求后台数据,打包上传后就无法获得后台的json文件.查看了相关资料可以用nginx进行解决.还可以使用命名环境变量,请求的时候进行判断,话不多说 ...

  6. Chrome设置允许跨域请求

    项目开发过程中,跨域问题再所难免,解决跨域的方法也很多.最常用的方法莫过于配置Nginx解决跨域(自行百度Nginx跨域设置).但是作为开发环境,临时调试一些东西,最快的方法是设置Chrome允许跨域 ...

  7. 谷歌插件开发ajax请求,Chrome扩展开发,跨域请求API

    起因 这次问题是从Btools更换获取数据方式开始的,因为B站收藏夹在前台页面返回的数据中删除了失效视频的封面和标题,导致原来的程序无法获取视频信息. 于是我就想如果请求收藏夹的API,是否可以获取这 ...

  8. Java - 探究前后分离带来的跨域问题

    文章目录 为什么会产生跨域问题 同源策略 (Same-origin policy) 解决方案 服务端解决方案 简单请求 复杂请求 测试 简单请求测试 复杂请求测试 代理服务器,反向代理接口请求 jso ...

  9. android ajax 跨域更新本地html,本地webapp是怎么解决跨域问题的?

    像ionic的cli,都可以把一个ionic的webapp打包成本地的,那这样的话是如何解决跨域问题的? 在PC上,我直接访问连接获取数据,代码如下.(抄自W3School) function loa ...

  10. Chrome 跨域 请求不携带cookie

    一个月没动的项目,今天突然需要优化一个功能,项目启动,美滋滋的 localhost:8082访问前端页面,登录成功, 访问数据页面,报未登录 一脸懵逼,一个月前好好的项目,突然就出问题了,查看下请求发 ...

最新文章

  1. mysql启动、关闭与登录
  2. 案例驱动python编程入门-python ddt数据驱动实例代码分享
  3. c# winForm DotNetBar控件之SuperGridControl
  4. 523. Continuous Subarray Sum
  5. OpenCASCADE绘制测试线束:布尔运算命令之设置选项的操作
  6. NFS搭建openfoam
  7. 漫游Kafka设计篇之Producer和Consumer
  8. Java-分析类初始化
  9. TensorFlow:卷积神经网络
  10. Qt之QSS:带CheckBox的QGroupBox及其样式设计
  11. Linux的vim编辑器常用命令
  12. orbSLAM2 之 追踪参考关键帧
  13. java docx4j 目录,1、带你一起拥有docx4j
  14. java 营业执照验证_基于Java的营业执照识别示例代码-六派数据
  15. 井字棋游戏案例C++语言
  16. 【非原创】PHPMywind调用
  17. DexGuard 与 ProGuard区别
  18. java列名无效_java中的列名无效
  19. 传统企业如何实现生产制造信息化?
  20. unity导入FBX模型

热门文章

  1. 国内移动广告平台的现状对比(2010年8月-10月)
  2. TCPC-可用于笔记本,平板等HOST端的解决方案
  3. 乐得瑞LDR6282B 支持双C口盲插便携显示器驱动板方案
  4. 克隆虚拟机后无法连接网络的问题
  5. 基于AD9854信号发生电路和MSK调制信号
  6. 51单片机数据存储器扩展实验(汇编)
  7. ehcache:Null key returned for cache operation问题解决方法
  8. html5调用手机震动
  9. 使用‘终端’融合磁盘然后进行MAC重装系统
  10. Java小游戏之《大鱼吃小鱼》