当前位置: 首页 > 知识库问答 >
问题:

后端 - token盗用问题?

都沈浪
2023-09-09

在前后端分离的项目中,如果客户端携带的token被其他人获得了,其他人使用该token请求得到该用户的数据。有什么方法可以解决这个问题吗?
目前想到的是:在token中携带登录时的设备IP,同时采用对token进行签名避免篡改,在请求数据的时候验证IP是否一致,不一致则返回重新登录。

共有2个答案

谢昊乾
2023-09-09

从实现难易度给一些个人见解
1、https
2、给客户分配rsa密钥对,数据加密传输,即使有token也没法使用
3、token过期策略,定期更新token来提高安全性

万俟靖
2023-09-09
目前想到的是:在token中携带登录时的设备IP,同时采用对token进行签名避免篡改,在请求数据的时候验证IP是否一致,不一致则返回重新登录。

移动设备(手机)的IP,十分不稳定,网络条件发生变化就可能变。另外,如果用户处于 WiFi 和 流量 的边缘,那不是一会儿连上 WiFi 又要重新登录,WiFi 断了又要重新登录?

正确的做法就是上 HTTPS。

 类似资料:
  • 新人学习token鉴权有个疑惑,token本身有加密的用户信息,并保存在客户端.如果token只存在客户端,感觉并不够安全,且无法主动退出登录(无法主动过期). 听说一般token都存在redis里,那本质上就是在服务端也保存了token,可以通过token-userId的形式存储.如果是这样的话,token本身的意义是什么,token根据就不需要携带用户信息 似乎可以在客户端创建一个随机clie

  • 我有点困了,还没有找到解决办法。我有一个rails站点,它的前端使用designe,api使用designe\u token\u auth。前端使用服务器端呈现页面和api调用的组合向用户显示数据。如果我使用纯角度登录,登录表单最终会起作用(ushally 2-3提交): 如果我使用标准的post方法,服务器会呈现正确的信息,但没有为ng token auth设置令牌。我可以使用以下方法在会话#创

  • 我使用嵌入式签名与rest api和SignerMustLogintoSign=true配置强制用户在签名前登录。

  • A,B两个系统,用的token是一样的,但是两个前端不在同一服务器上,怎样让B页面能获取到A页面的Cookie,即A系统登录后,通过iframe访问B系统不需要再次登录,实现一个单点登录的效果,由于某些原因,不可以在iframe的src中携带token信息。 目前的想法是想让B系统能获取A系统存在Cookie中的token信息,但是存在跨域问题,不能获取到,有办法实现吗?尝试了利用nginx配置转

  • 令牌表示文档中的文本或单词,其中包含相关详细信息,如元数据(位置,起始偏移,结束偏移,标记类型及其位置增量)。 Class 声明 (Class Declaration) 以下是org.apache.lucene.analysis.Token类的声明: public class Token extends TermAttributeImpl implements TypeAttri

  • import "go/token" Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). Index Constants type File func (