关于session每次请求都会改变的问题
这几天在部署一个前后端分离的项目,使用docker进行部署,在本地测试没有一点问题没有,前脚刚把后端部署到服务器,后脚测试就出现了问题!查看控制台报错提示跨域错误?但是对于静态资源请求,包括登录都没有问题为什么到获取后端数据的时候才开始提示这个问题?

但本身我在本地也处理了跨域问题了啊!为什么还会出现这个问题?难道是我这个处理跨域方法不对,于是我在网络上开始搜索跨域问题解决办法,有人说是post请求之前会先发送一个option请求,必须要对option放行,因为我本身配置了过滤器,所以也有人说是过滤器优先级问题,于是我开始添加相关代码,也加了跨域处理过滤器,并将优先级设为最高。最后参照关于在SpringBoot项目中创建了过滤器后,被拦截下来的请求跨域设置失效的原因及处理_springboot 跨域限制不生效-CSDN博客
大佬的过滤器解决了跨域报错,控制台干干净净,没有任何问题,这可把我乐坏了,直接关电脑洗洗睡了,打算第二天起床将前端部署好以后结束了,但第二天测试发现!为什么还是拿不到数据,明明跨域解决了啊!后来发现是过滤器问题,这个过滤器主要是为了判断用户是否登录,给予请求放行的。排查到这里的时候我已经开始烦躁了,怎么会这样呢?明明登陆了啊!难道是session的问题,因为我将会话内容存储session中,一检查果然是session的问题,我就开始查询,最后将问题锁定到cookie上,查看浏览器JSESSIONID发现并没有次次发生改变,所以也不是浏览器的问题,于是开始查看网络请求,发现

在设置cookie的时候出现了问题,经过查询发现这是谷歌浏览器的一种安全策略,要求跨域请求连接必须安全 可参考Cookie 的 SameSite 跨站限制 - 摸鱼派 (fishpi.cn)
总之在谷歌和Edge测试中都会产生这个问题,所以导致session每次都不同,使用火狐浏览器不会产生问题,但我们肯定希望每个浏览器都可以正常访问呀,所以如何解决呢?我的解决方法是使用一个代理,将请求进行转发这样对于安全策略而言这个请求过程会携带cookie,会将此请求当作普通的请求,使用代理进行转发就可以解决这个问题,但实际上这是不安全的,真正安全的是设置SameSite=None 并使用https协议进行通信,但因为只是自己部署的小项目尝试,并未继续。如果有感兴趣的小伙伴也可以进行尝试,也可以下方留言大家一起探讨。
相关文章:
关于session每次请求都会改变的问题
这几天在部署一个前后端分离的项目,使用docker进行部署,在本地测试没有一点问题没有,前脚刚把后端部署到服务器,后脚测试就出现了问题!查看控制台报错提示跨域错误?但是对于静态资源请求,包括登…...
【leetcode题解C++】150.逆波兰表达式求值 and 239.滑动窗口最大值 and 347.前k个高频元素
150.逆波兰表达式求值 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。每个操作数(运算对象)都可以是一个整数…...
【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…...
API设计模式:REST、GraphQL、gRPC与tRPC全面解析
一、引言 在现代Web和微服务架构中,API(应用程序编程接口)的设计和实现方式至关重要。本文将探讨四种流行的API设计模式:REST(Representational State Transfer)、GraphQL、gRPC以及新兴的tRPC。每种模式都…...
C/C++ protobuf与json互转
测试环境 ubuntu16.04 64bitprotocbuf:3.9.1 (支持json转换需>3.0.0) 协议 syntax "proto2";message Person{optional string name 1;optional uint32 age 2;optional string address 3; }测试代码 //protobuf > 3.0.0#…...
Open CASCADE学习|圆柱螺旋线绘制原理探究
1、圆柱螺旋线绘制原理 在OCC中,圆柱面的参数方程为: 设P为(x0,y0,z0),则 xx0r*cos(u) yy0r*sin(u) zz0v 但u、v之间有关系时,此方程表达为圆柱螺旋线,u、v之间为线性关系时是等螺距螺旋线࿰…...
Python学习笔记--认识sys.argv
sys.argv 是 Python 的一个内置模块 sys 中的一个属性。它是一个列表,包含了从命令行传递给脚本的参数。 例如,如果你有一个名为 script.py 的脚本,并且你从终端窗口命令行这样运行它: >>>python script.py arg1 arg2 …...
【C++】入门基础
前言:C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C学习有一定的帮助,因此从今天开始们将进入C的学习。 💖 博主CSDN主页:…...
Nginx与keepalived实现集群
提醒一下:下面实例讲解是在mac虚拟机里的Ubuntu系统演示的; Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived: master服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 master服务器Nginx与keepalive…...
初识MQRabbitMQ快速入门
一、同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能…...
javaMailSender 发送邮件,基于Spring Boot
目录 引入依赖 配置文件配置 具体代码 MultipartFile 转 File 工具类 引入依赖 <!--邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!--日…...
【汇总】解决Spring-Web与Spring-WebFlux冲突
【汇总】解决Spring-Web与Spring-WebFlux冲突 问题发现问题解决问题一:The bean requestMappingHandlerMapping, defined in class path resource [org/springframework/web/reactive/config/DelegatingWebFluxConfiguration.class],问题二:The Java/XML…...
maven 依赖配置补充
依赖配置补充 依赖范围 import 管理依赖最基本的办法是继承父工程,但是和 Java 类一样,Maven 也是单继承的。如果不同体系的依赖信息封装在不同 POM 中了,没办法继承多个父工程怎么办?这时就可以使用 import 依赖范围。 典型案…...
Pandas ------ 向 Excel 文件中写入含有合并表头的数据
Pandas ------ 向 Excel 文件中写入含有合并表头的数据 推荐阅读引言正文 推荐阅读 Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据 引言 这里给大家介绍一下如何向 Excel 中写入带有合并表头的数据。 正文 import pandas as pddf1 pd.D…...
kafka summary
最近整体梳理之前用到的一些东西,回顾Kafka的时候好多东西都忘记了,把一些自己记的比较模糊并且感觉有用的东西整理一遍并且记忆一遍,仅用于记录以备后续回顾 Kafka的哪些场景中使用了零拷贝 生产者发送消息:在 Kafka 生产者发送…...
【新书推荐】2.6节 原码、反码和补码
回顾上一节中,我们讲解了整数的编码规则。 无符号整数编码规则:无符号整数全部都是正数,是什么就存什么。 有符号整数编码规则:有符号整数最高有效位为0是正数,最高有效位为1是负数。 本节内容:原码、反…...
docker 网络及如何资源(CPU/内存/磁盘)控制
安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host docker网络模式 Host 容器与宿主机共享网络namespace,即容器和宿主机使用同一个IP、端口范围(容器与宿主机或其他使…...
安装 nvm
前言: nvm 即 node 版本管理工具 (node version manager),好处是方便切换 node.js 版本。 通过将多个 node 版本安装在指定路径,然后通过 nvm 命令切换时,就会切换我们环境变量中 node 命令指定的实际执行的软件路径。 使用场景…...
Redis解决方案:NOAUTH Authentication required(连接jedis绑定密码或修改redis密码)
Redis解决方案:NOAUTH Authentication required(连接jedis绑定密码或修改redis密码) Java使用jedis连接redis时出现错误NOAUTH Authentication required 一、问题报错和原因 本地设置了redis的密码,但在远程连接时并没有输入密…...
多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测
多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现WOA-TCN-Multihead-Attention鲸鱼算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资料 效…...
ReAct让AI像人一样“边想边做”,轻松搞定复杂问题!
写在前面 欢迎回到我们的智能体架构系列。上一期我们聊了工具调用,让智能体“长出了手”,能去外部世界获取信息。但很快我们就发现,光有手还不够。面对“谁是《沙丘》制片公司的CEO,以及该公司最近一部电影的预算?”这…...
探索ImageGlass:一个轻量级图像浏览器的多格式支持解决方案
探索ImageGlass:一个轻量级图像浏览器的多格式支持解决方案 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 当你面对数十种不同格式的图像文件时,是…...
SQLAdvisor终极调优指南:如何根据业务特点优化工具参数
SQLAdvisor终极调优指南:如何根据业务特点优化工具参数 【免费下载链接】SQLAdvisor 输入SQL,输出索引优化建议 项目地址: https://gitcode.com/gh_mirrors/sq/SQLAdvisor SQLAdvisor是由美团点评公司技术工程部DBA团队开发的一款强大的SQL索引优…...
终极BewlyBewly插件指南:5分钟打造个性化Bilibili界面
终极BewlyBewly插件指南:5分钟打造个性化Bilibili界面 【免费下载链接】BewlyBewly Improve your Bilibili homepage by redesigning it, adding more features, and personalizing it to match your preferences. 项目地址: https://gitcode.com/gh_mirrors/be/B…...
AI率太高被退稿?这5款工具帮你稳过查重+降AI双关!
🔥 2026实测推荐:5款真正管用的工具1️⃣ 毕业之家 AI(毕业季救星)AI率效果:<8%亮点:专为国内高校定制,自动适配学校格式要求,连页眉页脚都不用手调价格:本科套餐199元…...
保姆级教程:用YOLOv11+PyQt5打造你的专属天气识别桌面应用(附完整源码)
从零构建基于YOLOv11的智能天气识别桌面应用 窗外阴云密布,你是否曾好奇此刻的天气状况究竟如何?现代计算机视觉技术让机器也能像人类一样"看懂"天气。本文将带你完整实现一个能识别11种天气类型的桌面应用,从模型加载到界面交互&a…...
LVGL下拉列表控件lv_dropdown实战:从基础配置到高级定制(附完整代码示例)
LVGL下拉列表控件lv_dropdown实战:从基础配置到高级定制(附完整代码示例) 在嵌入式UI开发领域,LVGL(Light and Versatile Graphics Library)凭借其轻量级和高度可定制的特性,已成为许多开发者的…...
RK3399pro固件逆向实战:3步提取文件系统(附完整命令)
RK3399pro固件逆向实战:从原理到实践的深度拆解 在嵌入式设备安全研究领域,固件逆向分析是获取设备内部运行机制的关键入口。作为Rockchip旗下的高性能处理器,RK3399pro广泛应用于智能硬件、边缘计算设备等领域。当我们拿到一个RK3399pro设备…...
PX4串口通讯避坑指南:从波特率设置到数据收发全流程解析(以Serial4/5为例)
PX4串口通讯实战指南:从硬件配置到数据交互的深度解析 在无人机和机器人开发领域,PX4作为一款开源的飞控系统,其串口通讯功能是实现传感器数据采集、地面站通信以及外设控制的核心技术。然而,许多开发者在实际项目中常会遇到数据丢…...
Git GUI里那些小箭头和蓝点到底是啥?一份给新手的保姆级图解指南
Git GUI可视化指南:解码提交历史中的符号与分支拓扑 第一次打开Git GUI的提交历史视图时,那些彩色线条、小蓝点和神秘箭头就像天书般令人困惑。作为从SVN过渡到Git的开发者,我曾盯着这些符号发呆半小时——直到发现它们其实是项目历史的可视化…...
