tomai
登录

JWT 会泄露什么——为什么不要把生产环境的 token 粘到网上

JSON Web Token 看起来像乱码,但它严格由三段组成:header、payload、signature。搞清每一段的职责是一种安全技能。

签名防篡改——不防阅读

header 和 payload 就是普通 Base64URL:任何拿到 token 的人都能毫不费力地读出 user id、邮箱、角色和过期时间。签名只证明 payload 没被没有密钥的人改过。

经典坑:alg=none

如果服务端接受 algorithm 设为 none 的 token,签名就会被完全跳过——这是一类著名的接管漏洞。服务端必须固定自己期望的算法。

永远不要把生产 token 粘到随便什么网站

会话 token 是持有者凭证:谁拿着它,谁就能在过期前冒充你。把有效 token 粘到不明解码器,等于把会话交给那个网站。要检查 token,请用浏览器本地解码的工具——比如我们的 JWT 解码器,token 永远不离开你的浏览器——而且最好一开始就用测试 token。

快速清单

  • 先看 exp 再信任 token
  • 确认算法是服务端期望的那个
  • 把每个 token 当成可读的,永远不是秘密

安全检查一个 token:本地解码——header 和 payload 即时渲染,不发送任何数据。