简述cookie 和 token 都存放在 header 中,为什么不会劫持 token ?

虽然 cookie 和 token 都可以存放在 HTTP 请求的 header 中,但是它们的机制和安全性是有所不同的,导致 token 相对于 cookie 更难被劫持。

  1. Cookie:
    • Cookie 是一种在客户端存储的数据,会随着每次 HTTP 请求自动发送到服务器端。Cookie 通常用于在客户端和服务器之间保持会话状态。
    • Cookie 存储在浏览器中,可以被浏览器自动管理,但也容易受到跨站脚本攻击(XSS)和跨站请求伪造攻击(CSRF)的影响,导致被劫持。
  2. Token:
    • Token 是一种在客户端和服务器端之间进行身份验证和授权的凭证,通常是通过服务器颁发的。常见的有 JSON Web Token(JWT)。
    • Token 可以存储在客户端的 localStorage、sessionStorage 或内存中,需要开发者手动管理。Token 通常包含了加密签名,可以验证其真实性,因此相对于 Cookie 更加安全。
    • Token 使用时需要程序员手动设置到请求头中,而不像 Cookie 那样会被浏览器自动发送,这样减少了被劫持的可能性。

总的来说,Token 相对于 Cookie 更加安全,因为 Token 需要手动设置到请求头中,同时包含了加密签名,可以验证其真实性,减少了被劫持的风险。虽然 Token 也可能存在被盗取的风险,但相比之下更难被劫持。

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。