Token 安全登录防止窃取

HTTP 协议是无状态的web

  • 在web中使用cookie+session的技术来保持用户登录的状态
  • 移动端使用token来保持用户登录状态因为token在网络中传输,很容易被 中间人获取,进而模拟用户进行其余相关操做

解决办法:浏览器

  • 服务器端

响应头增长随机字符串 CSRF_TOKEN=xxxxxxxxxxx(每次请求都不一样)服务器

  • 客户端
  1. 客户端和服务端 保留密钥 secret = yyyyyyyyy
  2. 客户端获取响应头CSRF_TOKEN下次请求必须携带
  3. 客户端 (secret+提交内容) 进行签名

当用户提交信息到服务器端,首先验证签名数据是否被篡改,随后经过token+随机字符串比对,正确的话执行操做,刷新随机字符串,即便token被中间人获取到了,没有随机字符串依旧执行不了任何操做,再糟糕点中间人经过拦截响应头获取到了随机字符串,可是密钥还没泄露,没有办法进行签名依旧执行不了操做cookie

缺点:
以上解决办法只适用于APP端,浏览器端不适用,由于没地方保存密钥网络

总结:session

因此能上 HTTPS 就用 HTTPS 吧!token

相关文章
相关标签/搜索