当前位置: 首页 > 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就直接创建了。

http://www.lryc.cn/news/228739.html

相关文章:

  • eNSP启动路由器一直出#号、以为是安装配置winpcap的问题。。。。(以为是win10安装winpcap失败的问题。。。)
  • 时间序列预测:深度学习、机器学习、融合模型、创新模型实战案例(附代码+数据集+原理介绍)
  • docker安装RocketMQ
  • 优秀智慧园区案例 - 珠海华发智慧园区,万字长文解析先进智慧园区建设方案经验
  • 毕业设计项目:基于java+springboot的共享单车信息网站
  • Redis 连接不上 WRONGPASS invalid username-password pair
  • 三分钟学完Git版本控制常用指令
  • vue3使用粒子特效
  • DMDEM部署说明-详细步骤-(DM8达梦数据库)
  • aws亚马逊:什么是 Amazon EC2?
  • 【BMC】jsnbd介绍
  • 个推「数据驱动运营增长」上海专场:携程智行火车票分享OTA行业的智能用户运营实践
  • Linux--gcc/g++
  • MySQL5.7源码编译安装
  • uniapp使用v-for页面不刷新解决办法
  • 发布一款将APM日志转换为Excel的开源工具
  • 本地化小程序运营 同城小程序开发
  • 关于electron打包卡在winCodeSign下载问题
  • 01_ddim_inversion_CN
  • ElasticSearch的文档、字段、映射和高级查询
  • vim相关命令讲解!
  • 22.构造一个关于员工信息的结构体数组,存储十个员工的信息
  • 北京刘家窑中医院举行‘心梗救治日’宣传活动,郭自强主任呼吁提高群众防治意识
  • calico
  • web前端开发第3次Dreamweave课堂练习/html练习代码《网页设计语言基础练习案例》
  • APP备案获取安卓app证书公钥获取方法和签名MD5值
  • cefsharp 93.1.140 如何在js中暴露c#类
  • 同一台Linux同时安装MYSQL5.7和MYSQL8(第一篇)
  • 【CSS】解决上层盒子遮挡下层图片点击事件的三种方法
  • 力扣每日一题 ---- 2906. 构造乘积矩阵