【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景

  1. 本地生产环境:超过最大值 cookie token 不存储;
  2. 客户生产环境:打开系统空白,且控制台报 http 400 错误;

出现了两种现象

导致用户名密码登录,且提示成功后,又返回到登录页。

注意:也有 cookie 值被截取现象,但我目前没遇到,使用 Google Chrome v118。此处不说明;

原因

  • 虽然登录成功,但 cookie 没有存储 token

  • 跳转路由要先验证 token 是否存在,以此判断用户是否登录;

  • token 就跳回登录页,以此反复进入死循环;

解决

  • 服务接口生成 token 时,限制其长度;

导致打开系统,页面空白,且控制台报 http 400 错误;

原因

  • 系统存在多个 cookie 值存时,会合并到 http 请求头 cookie ,并发送给服务器;
  • 此时服务器(如:nginx) 接收的请求 cookie 超出最大限制,返回 http 400 错误;

解决

  • 注意每次 cookie 的值不要太大;
  • 限制 cookie 个数,或使用 localStorage

参考

此篇第三章有详细说明:https://blog.csdn.net/linzhiqiang0316/article/details/129720285

Cookie 和 Storage 区别说明,参考此篇https://www.cnblogs.com/lianghong/p/8520490.html

相关推荐
小短腿的代码世界9 分钟前
WebSocket协议在Qt中的工业级实现:5层架构设计与万级并发压测验证
qt·websocket·网络协议
10WTW0130 分钟前
微机原理习题
网络
Patrick_Wilson1 小时前
Cookie 作用域避坑:父域泄漏、同名优先级与多环境隔离
前端·http·浏览器
行走__Wz1 小时前
【网工入门-eNSP模拟-01】ip地址配置
网络·tcp/ip·智能路由器
yyuuuzz1 小时前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
utf8mb4安全女神1 小时前
MySQL8.0.43的下载安装【二进制安装】【shell脚本】【环境准备】【my.cnf配置】【修改密码】
linux·服务器·网络
yang)1 小时前
jesd204B应用笔记
网络·笔记
葡萄皮sandy2 小时前
SSE和WebSocket
网络·websocket·网络协议
酉鬼女又兒2 小时前
零基础入门计算机网络网际层核心:IP数据报发送与转发完整流程、静态路由配置方法、路由环路成因与解决方案及历年考研经典例题深度解析
网络·tcp/ip·计算机网络·考研·职场和发展
hyunbar7772 小时前
配置 Cloudflare Tunnel:把 Mac 上的 Web 服务变成安全域名
网络协议