关于token的几个问题?

所谓token,大概就是登陆验证成功后,服务器根据算法生成一个唯一串返回给前端。前端拿着这个串作为一个凭证去获取数据,那么问题来了:

  1. 如何中途截获到这个token,是不是一样可以成功获得数据;
  2. 服务器怎么去验证这个串的正误;
  3. 这种认证机制到底安全在哪里;
阅读 6.3k
9 个回答

回答:第一点,如果能够成功截获的话,又在token失效期内,是可以成功获取到数据的。

 第二点,这个token是通过加密算法生成的,有一套对应的规则。
 第三点,因为这个token都是验证登录成功后,后台通过加密即时生成且唯一的,并在一定的时间后失效。
新手上路,请多包涵
  1. token主要解决csrf问题。token一般为非对称加密。如果一次登录中token是不变的,当截获到token就一定是存在安全问题的
  2. token作用(主要)不是解决安全性,数据安全性解决方案一般用sign

我觉得你可以找找json web token 这方面的资料看看

至少token不是连续的,我不能从1往后试

举个例子,比如查看某人的订单是这样的/order/${uid}(虽然没人这么傻但是不要在乎这些细节)

我找到规律之后只要把uid改一改就可以随意查看其他人的订单信息了,这样不安全,但如果uid并不是连续的数字,而是一个md5加密的32位字符,这个路子就行不通了

token是经过AES加密过的,如果可以正确解密出来,里头是放了用户数据的

如果担心token被抓包,可以考虑用https协议

token不来就不是解决安全问题的,问的我想打人了

token主要是用来应对CSRF的

解决安全问题:
https, 双因素认证 等等

1、使用https token无法在mimt中截取,除非网站已经被xss注入,当然可以用cookie only来防止js读取。
2、token分为很多种jwt token通过hash加密,服务器取到后第一层进行hash监测,再与数据库比对(可以省略)。
3、没有绝对的安全,只有相对安全。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题