前后端分离安全问题?
发布于 3 年前 作者 JKingCai 2802 次浏览 来自 问答

1、请求后端生成Token我们如何确保安全性? 2、如何确保Token的有效性?如:Token在失效前处于下单状态,我们如何保证在失效前确保下单成功? 3、如何销毁Token?

8 回复

token是httponly的。 每次请求后端都要校验token logout接口

没有绝对的安全,根据账号状态对token进行刷新和超时处理。

来自✨ Node.js开源项目精选

  1. 后端生成的token,是经过加密签发的。如果用户把token泄漏了,那就没安全性可言. 除非做一些安全监控. 这个这个token之前是哪个浏览器,哪个IP请求的…现在突然间换了…这些都可以是安全的方面。需要一个比较完整的方案, 例如用户只是切换了WIFI,IP变了而已,你就禁止使用这个TOKEN那就尴尬了…

像JWT的token,是无法篡改的,所以不怕攻击者改token,怕的就是用户泄漏token。所以又回到了常规的安全问题,比如禁止加载白名单外的js,启用https等等…

安全永远像爬虫攻防,没有尽头…

  1. Token 有效性,JWT的token是带有过期时间的,服务端每一检查token的时候,都会做过期过期。如果token是存储的服务端,那么存储在redis,设置过期时间就好了.

  2. 如何销毁? 存储的服务端的,就删除掉。如果是JWT,客户端自维护

  1. HTTPS保证token不被窃听。
  2. token失效只能让用户登录了,登录后再恢复之前的订单信息。
  3. 服务端定时清除失效token。

使用 OAuth2.0

即时做session这种服务端缓存,session_id如果泄露被盗用,应该也会一样出现你的问题

可以设置token只能使用一次等,讲道理没有100%的安全,走https的话相对来说已经很安全了

回到顶部