当前位置: 首页 > news >正文

关于session的不断变化问题

今天在帮同学解决一个小问题,差点阴沟翻船。
问题再现:他从github上拉了一个项目下来跑,结果发生跑不通问题出现在验证码一直不对。
在这里插入图片描述
我一看项目源码,验证码生成后存储再session中了,等用户发送请求验证的时候sessionId变化了,导致通过session获取验证码是一个null。

发现问题
经过各种测试发现sessionId每次请求进来都是生成一个新的。这个是问题所在

尝试解决
网上有方案说配置前端携带cookie: xhrFields: {withCredentials: true},后端再配置跨域可以解决问题,我实践过这种方案还是不行。

解决问题
后来发现后端的项目地址为localhost:8080,前端页面为http://127.0.0.1:5500/login.html。我把127.0.0.1改为localhost就解决了这个问题。127—>>localhost或者localhost---->>127都会跨域。

原理解析
后来查资料发现确实是跨域的问题虽然localhost会被解析成127.0.0.1访问,但是还是会跨域,跨域你的域名 端口 协议变动了就是跨域。跨域让cookie无法被传递,sessionId是存储在cookie中的,所以后端每次都认为请求是新的请求没有sessionId就直接创建了。

相关文章:

  • Python:使用marshmallow实现Python数据序列化、反序列化、数据验证
  • 智能一体化管网水位监测仪怎么样?
  • Wireshark抓包(网络分析)工具
  • 机器学习——朴素贝叶斯
  • 利用 Google Artifact Repository 构建docker 镜像仓库
  • C语言左移与右移学习
  • 由浅入深学习统计学 - 常用统计图形学习
  • Stream流的groupingBy
  • 100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?
  • 如何有效的保护Windows登录 安当加密
  • Googletest(Gtest)使用case指南
  • Leetcode153. Find Minimum in Rotated Sorted Array
  • C语言进阶
  • Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结
  • 链表的实现(文末附完整代码)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【RocksDB】TransactionDB源码分析
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Java新版本的开发已正式进入轨道,版本号18.3
  • PAT A1092
  • Python3爬取英雄联盟英雄皮肤大图
  • TypeScript迭代器
  • 基于 Babel 的 npm 包最小化设置
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 码农张的Bug人生 - 初来乍到
  • 区块链分支循环
  • 人脸识别最新开发经验demo
  • 硬币翻转问题,区间操作
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​Java并发新构件之Exchanger
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #define与typedef区别
  • %check_box% in rails :coditions={:has_many , :through}
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1) caustics\
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (pojstep1.1.2)2654(直叙式模拟)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转载)Google Chrome调试JS
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ***监测系统的构建(chkrootkit )
  • .net core Swagger 过滤部分Api
  • .NET 的程序集加载上下文
  • .NET 解决重复提交问题
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET中统一的存储过程调用方法(收藏)
  • .py文件应该怎样打开?