网络安全-Cookie 和 JWT

62 阅读2分钟

✊不积跬步,无以至千里;不积小流,无以成江海

CookieJWT 都是 HTTP 协议 的一部分,因此属于前端开发需要了解的基础知识。

CookieJWT 都是用于在客户端存储数据并在 HTTP 请求中发送回服务器的技术。它们都用于 身份验证授权,但也有一些关键的区别。

Cookie

  • Cookie 的工作原理:  Cookie 是由服务器发送到客户端的小型文本文件。它们存储在浏览器中,并在随后的 HTTP 请求中发送回服务器。Cookie 可用于存储各种数据,例如会话 ID、用户偏好设置和购物车内容。

Cookie:

  • 由服务器创建并发送到浏览器
  • 存储在浏览器中
  • 可以包含任何数据
  • 通常用于会话管理和记住用户偏好
  • 存在安全风险,例如 CSRF 攻击

JWT

  • JWT 的工作原理:  JWT 是 JSON Web 令牌,是一种用于在客户端存储数据并在 HTTP 请求中发送回服务器的安全方法。JWT 由服务器创建并签名,并在随后的 HTTP 请求中发送回服务器。JWT 可用于存储各种数据,例如用户 ID、角色和权限。

JWT:

  • 由服务器创建并发送到客户端
  • 存储在客户端的本地存储或 cookie 中
  • 通常包含加密签名,以确保数据完整性和防止伪造
  • 通常用于身份验证和授权
  • 比 cookie 更安全

区别

Cookie 和 JWT 的比较

截屏2024-02-17 19.31.12.png

Cookie 和 JWT 的区别:  Cookie 和 JWT 都是用于在客户端存储数据并在 HTTP 请求中发送回服务器的技术,但它们有一些关键的区别。Cookie 不安全,容易受到 CSRF 攻击,而 JWT 使用加密签名来确保数据完整性和防止伪造。

何时使用 Cookie 和 JWT

  • 使用 Cookie:

    • 需要存储大量数据
    • 需要在多个页面之间共享数据
    • 需要在浏览器关闭后保留数据
  • 使用 JWT:

    • 需要更高的安全性
    • 需要在多个应用程序之间共享数据
    • 需要在浏览器关闭后保持用户登录状态

如何在前端使用 Cookie 和 JWT

前端开发人员可以使用 JavaScript 来设置、读取和删除 Cookie 和 JWT。