JWT 接口 CSRF 防护:无状态架构如何防跨站请求伪造?Double Submit Cookie 方案
一、问题背景:JWT 的 CSRF 隐患 你是否认为使用 JWT 就天然安全?实际上,JWT 在某些场景下依然存在 CSRF 风险! 当 JWT 存储在 Cookie 中(尤其是 HttpOnly=false 的情况),攻击者可以通过以下方式发起 CSRF 攻击: 用户登录你的网站,服务器返回 JWT 并存放在 Cookie 中 攻击者诱导用户访问恶意网站 恶意网站发起对目标网站的请求(如转账、修改密码) 浏览器自动携带 Cookie 中的 JWT,请求成功执行 真实案例:某电商平台的支付接口使用 JWT 认证,但未做 CSRF 防护。攻击者通过构造恶意页面,诱导用户点击后成功发起支付请求,造成用户资金损失。 二、核心概念:CSRF 与 JWT 的博弈 2.1 CSRF 攻击原理 ┌──────────────────────────────────────────────────────────────────┐ │ CSRF 攻击流程 │ ├──────────────────────────────────────────────────────────────────┤ ....