服务公告

服务公告 > 数据与安全 > 会话管理的坑:固定与过期

会话管理的坑:固定与过期

发布时间:2026-09-13 16:19
## 概念是什么 会话管理解决登录状态如何维持的问题:服务端给浏览器一个会话标识,后续请求凭标识证明身份。两个高频出问题的点:会话固定,标识在登录前后不变;会话过期,标识长期有效没有失效机制。两个坑都常见,且都容易被开发时的便利性掩盖。 ## 背后原理 会话固定的风险在于标识可被预置。攻击者想办法让受害者使用一个攻击者已知的会话标识,例如通过链接或脚本植入,受害者登录后该标识升级为已登录状态,攻击者用同一标识直接获得登录态。防御办法是登录成功后重新生成会话标识,旧标识立即失效。会话过期的风险在于标识被窃后的可用时间。没有过期机制时,一次窃取永久有效;合理的策略是双重超时:空闲超时处理挂机场景,绝对超时限制单个会话的最长生命周期,敏感操作前再要求验证身份。 ## 最小实操 登录成功后立刻换发新会话标识;会话属性配置空闲与绝对两个超时,数值按业务敏感度取;登出的服务端动作要彻底,删除服务端状态而不只是清掉浏览器里的标识;标识只走加密通道并带上安全属性,降低被窃取的概率。 ## 常见错误 登录后沿用旧标识,固定漏洞敞开。只依赖浏览器关闭清标识,服务端会话仍存活。绝对超时设得过长或没有,窃取的标识长期可用。顺云控制台这类管理入口本身已按安全会话设计,自建系统的会话参数则需要自己把关。会话标识的传递方式也有讲究:走安全的 cookie 属性,禁止放进地址栏,后者会被复制、被收藏、进访问日志,等于把钥匙到处张贴。集中退出场景同样要支持:管理员可以强制失效指定用户的全部会话,账号异常时的响应速度就靠这个能力。