当前位置: 首页 > wzjs >正文

学做网站的基本crm系统网站

学做网站的基本,crm系统网站,广西建设网郭业棚,香港公司能在大陆做网站吗个人博客:haichenyi.com。感谢关注 一. 目录 一–目录二–token登录流程三–JWT四–session与JWT对比 二. token登录流程 用户登录: 客户端发送用户名,密码到服务器服务端验证: 服务端校验用户名,密码的有效性。验…

个人博客:haichenyi.com。感谢关注

一. 目录

  • 一–目录
  • 二–token登录流程
  • 三–JWT
  • 四–session与JWT对比

二. token登录流程

  1. 用户登录: 客户端发送用户名,密码到服务器
  2. 服务端验证: 服务端校验用户名,密码的有效性。验证通过之后生成签名Token(如JWT),包含用户信息,过期时间等
  3. 返回Token: 把Token返回给客户端,通常通过响应体
  4. 客户端存储Token: 客户端拿到token之后,把token存起来localStorage或者sessionStorage
  5. 后续请求携带Token: 后续请求在请求头中添加token,cookie中或者其他位置,传递给服务端
  6. 服务端验证Token: 服务端根据自定义的规则校验token的有消息,返回对应的数据
  7. 过期处理: 客户端刷新token,或者其他逻辑处理过期

token的存储位置

对比项localStoragesessionStorage
​生命周期长期有效(除非手动删除)当前标签页有效
​​安全性低(持久化存储,可能被长期利用)稍高(会话级失效,减少XSS的长期风险)
​跨标签页共享同一域名下都有效当前标签有效
​适用场景需要长期登录的场景(社交媒体应用等等)需要高安全性场景(银行应用等等)

建议:

  1. 若需用户关闭浏览器后重新登录,选择sessionStorage。
  2. 若需持久化登录状态,选择localStorage,但需配合短过期时间和HTTPS。
  3. 关键安全措施: 防御XSS(输入过滤、避免eval)、设置Token过期时间、使用Refresh Token轮换。

  保存在哪里没有绝对的标准,都是需要根据实际场景来。
  后续请求怎么给服务端,也是没有绝对的标准,一般token都是放在网络请求的Cookie里面或者Header里面
注意: 无论选择哪种方式,XSS漏洞均可导致Token泄露,因此防范XSS是核心。对于极高安全场景,可考虑将Token存入内存,并在页面刷新时重新认证。

三. JWT

  JWT全称:**JSON Web Token,**是一种轻量级、自包含的开放标准。有特殊规则的token。用于在双方之间安全传输信息。以 JSON 格式存储数据,并通过数字签名(如 HMAC 或 RSA)或加密保证信息的完整性和可信性,常用于身份认证(如登录 Token)和跨系统数据交换。

3.1 JWT 的组成

JWT 由三部分组成,用 . 分隔:
Header.Payload.Signature

  1. Header(头部)
    作用: 描述 Token 的类型和签名算法。
    示例:
{"alg": "HS256",  // 签名算法(如 HS256、RSA)"typ": "JWT"     // Token 类型
}
  1. Payload(载荷)​
    作用: 携带实际传输的数据(称为 ​Claims)。
    数据类型:
    • 预定义声明​(建议但不强制):如 exp(过期时间)、sub(主题)、iss(签发者)。
    • 自定义声明:业务相关数据(如用户 ID、角色)。
      示例:
{"sub": "user123","name": "Alice","exp": 1620000000  // 过期时间戳
}
  1. Signature(签名)​
    作用: 防止数据篡改,验证发送方的可信性。
    生成方式: 对 Header 和 Payload 的 Base64 编码结果进行签名,使用 Header 中指定的算法。
    示例(HMAC-SHA256)​:
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload),secretKey  // 密钥(仅服务端持有)
)

3.2 JWT 的工作原理

  • 生成 Token: 服务端验证用户身份后,生成 JWT(包含用户信息),返回给客户端。
  • 传递 Token: 客户端将 JWT 存储在 Cookie、LocalStorage 或内存中,后续请求通过header带给服务端
  • 验证 Token: 服务端收到请求后:1.校验签名(防止伪造)。2.检查有效期(exp 声明)。3.提取 Payload 中的用户信息,完成身份认证。

3.3 JWT 的优缺点

  • 优点:
    • 无状态:服务端无需存储会话信息(如 Session ID),适合分布式系统。
    • 跨域支持:可轻松跨域名、跨服务传递。
    • 数据透明:Payload 可包含业务数据,减少数据库查询。
  • 缺点:
    • 无法废止:一旦签发,在过期前始终有效(需额外机制实现“注销”)。
    • 安全性依赖密钥:密钥泄露会导致所有 Token 失效。
    • ​Payload 默认不加密:敏感数据需自行加密(建议配合 HTTPS 使用)。

3.4 JWT 使用场景

  1. ​用户认证:替代传统 Session-Cookie 模式,实现无状态登录。
  2. ​授权:携带用户角色信息,控制 API 或资源访问权限。
  3. 跨服务数据交换:微服务间安全传递用户上下文(如 OpenID Connect)。

3.5 安全建议

  1. 避免在 Payload 中存储敏感数据​(如密码)。
  2. 使用 HTTPS:防止 Token 被窃听。
  3. 设置短过期时间​(如 15 分钟),配合 Refresh Token 续签。
  4. 签名算法选择:优先使用 HMAC 或 RSA,而非弱算法(如 none)。

四. session与JWT对比

对比项Session-Cookie(有状态)JWT(无状态)
服务端存储必须存储 Session 数据无存储,验证签名即可
扩展性需共享 Session 存储,扩展复杂天然支持分布式系统
​跨域支持依赖 Cookie 同源策略通过 Header 轻松跨域
​性能开销每次请求查询 Session 存储仅验证签名,无存储查询
​安全性需防御 CSRF需防御 XSS 和 Token 泄露
适用场景同源传统 Web 应用跨域 API、微服务、SPA/移动端
http://www.dtcms.com/wzjs/107709.html

相关文章:

  • wordpress category archives:seo推广怎么入门
  • 网页制作的企业长春网络推广优化
  • 武汉教育网站建设优化北京seo编辑
  • 域名如何做跳转到其他网站上seo推广培训中心
  • 用卫生纸做的礼物街网站南宁seo公司哪家好
  • 佛山从事网站建设百度竞价价格查询
  • 外贸独立建站哪里比较好适合成人参加的培训班
  • 保定网站制作软件win7优化大师下载
  • 在自己网站做blog世界杯球队最新排名
  • 做律师网站的公司搜索引擎优化的例子
  • 邹城哪个公司做网站好新手怎样做网络推广
  • wordpress主題移动端seo网站优化专家
  • 东莞网站建设制作网络推广一个月工资多少
  • 做网站学不需要做后台管理系统沈阳网站关键词优化公司
  • 做一借款撮合网站广州营销网站建设靠谱
  • 7免费crm长春seo整站优化
  • 苏州网站建设软件优化公司排名
  • 北京网站建设案例微信scrm
  • 九江做网站的大公司深圳网络推广平台
  • 山西省最新干部调整百度如何优化排名靠前
  • 公安备案网站热线深圳网络seo推广
  • 深圳做h5网站设计谷歌seo代运营
  • 深圳专业优定软件网站建设网站数据分析
  • 重庆承越网站建设地址谷歌paypal官网注册入口
  • 做3d图的网站软文是什么文章
  • 徐州市做网站百度 seo优化作用
  • 百度url提交手机一键优化
  • 陕西省政府网站官网站长工具国色天香
  • 网站站点结构图怎么做东莞最新消息 今天
  • 厦门网站的建设网络优化师是什么工作