Chrome 配置samesite=none方式

2023-05-16

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 二、解决方案
    • 1.方案一:修改浏览器配置
    • 2.方案二:使用Nginx
    • 3.方案三:若服务器为Tomcat,可使用以下方式(Tomcat8.5.x以上版本)

前言

Chrome从70版本开始,出现了所谓的同源策略问题。80版本开始默认SameSite=Lax,导致跨域Cookie传输收到限制。

我们遇到的问题是:从其他网站跳转回来的时候,地址栏在正常地址的基础上出现了JSESSIONID=XXXXXXXXX,导致原有session失效。


二、解决方案

1.方案一:修改浏览器配置

此方式比较粗暴,直接将浏览器的SameSite的属性设置回到以前的None状态。但缺点是每台客户端机器都需要配置,适用于用户范围可控的情景。

据说从91版本开始,此方式失效,未进行测试。。。。

1)chrome地址栏输入chrome://flags
2)通过禁用“SameSite by default cookies”和“Cookies without SameSite must be secure”功能开关
3)重新启动浏览器

方式2和方式3是设置samesite=none,且显式声明secure=true,只支持https且samesite=none的情况下跨域携带cookie。

2.方案二:使用Nginx

# 设置一个变量,用于判断是否增加SameSite=None属性
set $cookiePathMagicFlag '';
# 00~69 之间Chrome, 设置为-evil'
if ($http_user_agent ~ "Chrome/([0-6][0-9].)"){

    set $cookiePathMagicFlag '-evil';
}

location / {
    # nginx其他配置
    # xxxxxxxxx
    # 增加SameSite=None、secure配置
    proxy_cookie_path /$cookiePathMagicFlag "/; httponly; secure; SameSite=None";
}

3.方案三:若服务器为Tomcat,可使用以下方式(Tomcat8.5.x以上版本)

修改conf/context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- The contents of this file will be loaded for each web application -->
<Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <!-- 配置sameSiteCookies=None -->
	<CookieProcessor sameSiteCookies ="None" />
</Context>

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 配置samesite=none方式 的相关文章

随机推荐

  • IDEA(maven)+mybatis+mysql实现数据库查询操作

    原文链接 0 前言 最近在学习使用ssm框架 xff0c 整合过程比较麻烦 xff0c 先把基础使用部分整理出来 xff0c 这篇文章只是使用了mybatis连接数据库进行查询操作 xff0c 主要来熟悉mybatis和数据库部分的操作 I
  • JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔

    文章目录 1 志有什么 xff1f 2 志怎么 xff1f 3 自定义日志打印 准备工作 xff1a 创建一个 Spring Boot 项目 并在其中创建一个UserController类 xff0c 用来演示 在程序中得到 志对象 常 的
  • JavaEE进阶 - Spring Boot 配置文件 - 细节狂魔

    文章目录 1 配置文件作用2 配置文件的格式 1 application properties 配置文件 效果演示2 application yml 配置文件 效果演示这里 xff0c 讲一个规则 xff1a 为配置 件安装提示插件 社区版
  • nacos集群配置详解

    前导 xff1a 避免单点故障 xff0c nacos需采取集群模式 xff0c 且数据库也得换成高可用mysql数据库 xff08 自带的derby数据库很难做到集群配置的一致性 xff09 nacos切换mysql数据库 下载的naco
  • navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题

    navicat创建连接 2002 can t connect to server on localhost xff08 10061 xff09 且mysql服务已启动问题 查看mysql是否启动查看本地mysql端口号 问题如上图 xff0
  • Navicat如何连接MySQL

    市面上有很多数据库连接工具 xff0c 比如Navicat SQLYog WorkBench等 xff0c 用的比较多的 xff0c 比较好用的 xff0c 还是Navicat 现在我们就来说说Navicat如何连接Mysql 此文仅适用于
  • Navicat报错:1045-Access denied for user root@localhost(using passwordYES)

    前言 xff1a 事情是这样的 xff0c 昨天我在调试导师给的一个oython的项目 xff0c 这个项目是没有文档的 xff0c 所以数据库那些信息我需要自己去匹配去创建 xff0c 于是我将这个项目连接到了我本地的数据库 xff0c
  • 「Spring Boot 系列」03. Spring Boot配置文件&yaml的基本语法

    Spring Boot的配置文件 配置文件分类yaml基本语法 1 概念 2 语法特点 3 数据类型 最后 Spring Boot 提供了大量的自动配置 xff0c 极大地简化了spring 应用的开发过程 xff0c 所以当你创建了一个
  • 「Spring Boot 系列」04. Spring Boot配置------获取数据

    Spring Boot数据获取 1 64 Value2 64 Environment3 64 ConfigurationProperties 简单来说 xff0c 数据获取就是从application yml配置文件中拿到相对应的值然后交给
  • 「Spring Boot 系列」08. Spring Boot整合MyBatis

    目录 Spring Boot整合MyBatis步骤 xff1a 1 新建Spring Boot工程 xff0c 并选择需要使用的技术集2 设置相关参数 xff08 数据源 xff09 3 编写一个实体类 Person java4 定义数据层
  • 「Spring Boot 系列」09. Spring Boot集成MyBatis-Plus实现CRUD

    目录 前言一 创建数据库 1 添加数据表2 填充数据表 二 整合MyBatis Plus 1 新建springboot工程2 导入对应的starter3 添加配置4 创建实体类5 定义数据层接口 xff0c 继承BaseMapper 三 C
  • centos7 yum安装jdk8

    1 安装之前先检查一下系统有没有自带open jdk 命令 xff1a rpm qa grep java rpm qa grep jdk rpm qa grep gcj 如果没有输入信息表示没有安装 2 首先检索包含java的列表 yum
  • 【2021最新版】RabbitMQ面试题总结(32道题含答案解析)

    文章目录 1 什么是rabbitmq xff1f 2 为什么要使用rabbitmq xff1f 3 使用rabbitmq的场景 4 如何确保消息正确地发送至RabbitMQ xff1f 如何确保消息接收方消费了消息 xff1f 5 如何避免
  • 忘记mysql密码后如何修改密码(2022最新版详细教程保姆级)

    忘记mysql密码后如何修改密码 注意事项步骤 注意事项 一共用到两个cmd窗口 xff0c 每一个都要以管理员身份打开 xff0c 且在修改密码后 xff0c 要先关闭第一个跳过验证密码的mysql服务的cmd窗口 xff0c 再启动my
  • 忘记密码时如何修改mysql密码

    前言 近期学习j2ee开发时 xff0c 初步接触MySQL xff0c 偶然发现以往安装MySQL时修改的密码忘记 xff0c 于是查找资料学习了如何在忘记密码的情况下改变MySQL密码 以下为末学个人简介 xff0c 有不周之处 xff
  • 快速入手node.js

    目录 1 什么是 Node js 2 fs模块 3 path模块 4 http 模块 1 IP 地址 2 域名和域名服务器 3 端口号 4 创建 web 服务器的基本步骤 1 什么是 Node js Node js是让Javascript脱
  • 快速掌握 MyBatis 框架(二)

    文章目录 一 前言 1 1 数据库与表1 2 实体类1 3 MyBatisX 插件1 4 SQL 日志查看配置 二 多表查询 2 1 一对一2 2 一对多 三 动态 SQL 使用 3 1 lt if gt 标签3 2 lt trim gt
  • Cesium加载离线地图和离线地形

    文章目录 前言一 Cesium加载离线地图 1 1 下载数据2 2 数据处理2 3 地图发布2 4下载速度改进 二 Cesium加载离线地形 2 1 下载数据2 2 数据处理2 3 地形发布2 4 遇到的问题 前言 直接把地图数据切片 xf
  • Charles抓包显示<unknown>解决方案

    上篇 xff1a Charles抓包微信小程序数据 charles抓包会出现 xff0c 请求前都加了锁 xff0c 具体地址为的情况 解决问题 首先电脑上需要安装charles xff0c 然后需要设置手机上的WiFi设置 xff0c 修
  • Chrome 配置samesite=none方式

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言二 解决方案 1 方案一 xff1a 修改浏览器配置2 方案二 xff1a 使用Nginx3 方案三 xff1a 若服务器为