【踩坑及思考】浏览器存储 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

相关推荐
艾莉丝努力练剑10 分钟前
【Linux网络】Linux 网络编程:应用层自定义协议与序列化(2)序列化与反序列化
linux·运维·服务器·c++·网络协议·序列化
天问一14 分钟前
bat文件切换电脑ip
服务器·网络·tcp/ip
yyuuuzz17 分钟前
企业出海aws运维常见问题梳理
运维·服务器·网络·数据库·aws
悟渔17 分钟前
STM32N6系列MIDI 串口 GPDMA 环形接收解析模块
网络
AOwhisky24 分钟前
Docker 学习笔记:网络篇
linux·运维·网络·笔记·学习·docker·容器
Bat U26 分钟前
JavaEE|网络编程
运维·服务器·网络
小明同学0127 分钟前
计算机网络编程---UDP客户端与服务端
网络协议·计算机网络·udp
剑锋所指,所向披靡!32 分钟前
计算机网络的数据链路层
网络·计算机网络
在角落发呆1 小时前
内网电脑远程控制全攻略:从基础到进阶的实用方案
网络
原来是猿1 小时前
网络计算器:理解序列化与反序列化(上)
linux·运维·服务器·网络·tcp/ip