zoukankan      html  css  js  c++  java
  • Token 安全登陆防止窃取

    HTTP 协议是无状态的

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

    解决办法:

    • 服务器端

    响应头增加随机字符串 CSRF_TOKEN=xxxxxxxxxxx(每次请求都不同)

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

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

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

    总结:

    所以能上 HTTPS 就用 HTTPS 吧!

  • 相关阅读:
    Eclipse IDE及环境设置
    Spring3.X 配置Spring MVC 配置
    常用排序算法总结
    内存数据库
    mysql提高查询速度
    Linux下nginx编译安装教程和编译参数详解
    Mysql初始化root密码和允许远程访问
    GIS1
    ArcGIS Server分布式安装(转)
    COM
  • 原文地址:https://www.cnblogs.com/rinack/p/11295364.html
Copyright © 2011-2022 走看看