会话窃取(Session Hijacking)指攻击者拿到用户的会话标识(通常是 Cookie 中的 Session ID 或 Token),冒充用户访问系统。防护思路是「让凭证难被偷、偷了也难用」:

  • 传输加密:全站 HTTPS,并给 Cookie 加 Secure 属性,防止明文被嗅探;
  • 防脚本读取:Cookie 设置 HttpOnly,配合 XSS 防护(输入过滤、输出编码、CSP);
  • 防跨站携带:设置 SameSite 属性,缓解 CSRF;
  • 缩短有效期:合理设置过期时间,敏感操作后(如改密)使旧会话失效;
  • 会话轮换:登录成功后重新生成 Session ID,防止会话固定攻击(Session Fixation);
  • 绑定环境特征:可结合 IP、UA 做辅助校验,异常时强制重新登录。

易错点:HttpOnly 只能防止 JS 读 Cookie,不能防止 XSS 直接以用户身份发请求,二者要区分。追问方向:Token 存储在 localStorage 与 Cookie 的取舍——前者不防 XSS、后者要防 CSRF。