当前位置:网站首页>Chrome 配置samesite=none方式
Chrome 配置samesite=none方式
2022-08-03 05:29:00 【毛毛的猫毛】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
PostMan测试接口-----上传文件、导出excel
权限管理 UGO 、 ACL 、特殊权限
你真的了解volatile关键字吗?
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
【设计指南】避免PCB板翘,合格的工程师都会这样设计!
计算机网络高频面试考点
笛卡尔积处理商品属性sku
PCB制造常用的13种测试方法,你了解几种?
【入职第一篇知识总结- Prometheus】
WinServer2012r2破解多用户同时远程登录,并取消用户控制
UniApp 获取当前页面标题(navigationBarTitleText)
AR路由器如何配置Portal认证(二层网络)
超全!9种PCB表面处理工艺大对比
ES6中 async 函数、await表达式 的基本用法
2021-06-20
IDEA连接mysql又报错!Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope
流式低代码编程,拖拽节点画流程图并运行
Migration of BOA Server
MySQL的安装教程(嗷嗷详细,包教包会~)
BOA服务器移植之嵌入式开发板(FS4412)