Chrome跨域访问网络请求Cookies丢失的解决办法-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

为了保障网络安全,Chrome对跨域访问有一定的限制。一般分为三级:

  1. cookies带有“SameSite=Strict”时,只允许访问同一个域名下的网络请求;
  2. cookies带有“SameSite=Lax”时,允许访问同一个域名下的网络请求和同一个根域名下的网络请求;
  3. cookies带有“SameSite=None”时,允许访问同一个域名下的网络请求,也可以跨域访问。

Chrome从80版开始,没有明确指定SameSite的请求,则默认使用“SameSite=Lax”,而对于指定“SameSite=None”的请求,也必须要有其他安全属性。

对于需要跨域访问(包括局域网下不同IP的访问)时,若不取消Chrome的强制限制,则会无法正常访问。若两个域名使用不同的权限认证时,保存在Cookie中的身份信息会丢失。解决办法如下:

1. 对于Chrome V80至V90

对于SameSite的险种在V80至V90之间的版本,需要通过设置来启用或禁用SameSite的控制。操作如下:

在地址栏输入:chrome://flags打开设置列表,搜索"SameSite”,可以看到两个设置项:“SameSite by default cookies”和“Cookies without SameSite must be secure”,默认值是Default。设置为Disabled,就可以取消对SameSite的限制。

2. 对于Chrome V91到V93

在Chrome V91中取消了chrome://flags下关于SameSite相关设置。但可以使用命令参数的形式进行设置。命令如

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6