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

Http请求Cookie失效问题

Http请求Cookie失效问题记录

一、问题现象

在开发功能的过程中,业务依赖cookie进行取之,项目进行交互时会对前端http请求携带的cookies进行解析操作,但在自测调试对过程中出现账户的授权失效的报错问题。

在这里插入图片描述

二、问题排查

arthas进行代码方法报错排查,一步一步排查到当请求打到服务器时会被一个TokenFilter拦截,在其中会在中间价取到用户上下文,用户在登录的时候会在中间件设置上下文,并在http响应中设置rsid为对应业务数据形式,如:rsid_1:2_1245652125fsadfau

在请求业务服务器时,拦截会读取http请求中的cookies中的rsid值进行跟传来的token进行对比,如果不一致就会校验失败,出现上方的报错现象。

一开始以为是rsid设置的有误,就在用户登录的接口进行排查,发现确实是set上的rsid相关的业务数据,查看浏览器cookies设置也是成功的:如下图,but只针对主账户是成功的,其rsid数据例如:rsid_1_25672jrfanf

在这里插入图片描述
针对子账户则并非如此,发现其rsid对应的值为空:
在这里插入图片描述

登陆接口其实在响应中也设置返回了cookies给前端
在这里插入图片描述

那理论上应该是会设置成功的,那为什么会value为空呢???


在经过排查时,发现cookies对应的value不能有对应的特殊字符
在这里插入图片描述

在这里插入图片描述
当出现特殊字符就会被替换成空串

询问GPT
在这里插入图片描述


三、总结

在cookies的使用中,要符合对应的使用规范,避免开发中出现问题;

业务解决方案:将 替换为 ^

请求不再报错,符合功能业务


http://www.dtcms.com/a/8035.html

相关文章:

  • Spring Boot 依赖管理:spring-boot-dependencies vs spring-boot-starter-parent
  • 记录一下怎么重装服务器
  • Linux的7个运行级别
  • 明天是几号(c++题解)
  • 十大设计模式总结版
  • go使用gopprof分析内存泄露
  • 键入网址到网页显示,期间发生了什么?
  • NLP_语言模型的雏形N-Gram
  • Linux底层基础知识
  • 三层交换组网实验(华为)
  • Debian系统显示中文
  • 了解 WebSocket 和 TCP :有何不同
  • MSVC++远程调试
  • Google Play上架:因行为透明度被拒审或下架的政策自查(基于区块链的内容)
  • 【Linux】打包压缩跨系统/网络传输文件常用指令完结
  • 26条prompt规则应用于大模型
  • 【C/C++ 11】贪吃蛇游戏
  • Java入门高频考查基础知识8(腾讯18问1.5万字参考答案)
  • STM32--HAL库定时器学习记录(易懂)--持续学习
  • QT 应用中集成 Sentry
  • 外星人入侵(python)
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextPicker组件
  • C++函数定义
  • Qt扩展-muParser数学公式解析
  • Ubuntu server如何使用 Daphne + Nginx + supervisor部署 Django
  • C语言中那些后知后觉的细节冷知识(二)typedef、死循环、位移、内存访问
  • Docker基础知识
  • 【链表】-Lc83-删除有序链表中的重复元素(快慢双指针,slow,fast)
  • IDEA 配置以及一些技巧
  • 事件在状态流程图中的工作方式