zoukankan      html  css  js  c++  java
  • 忘词本项目总结之信息安全问题----用户安全登陆及其校验机制设计

    一、设计特点

    1)同一台设备可以保持多个会话

    2)同一个Session可以登陆多个账户而不出现信息错乱

    3)每个Session会话维持一个LoginUserMap

    4)每个LoginUserMap包含多个<token,User>,以token唯一地标识会话内的登陆用户

      即 : 不同的Session会话,即使是拿到token也无济于事

    5) 不同的设备可以登陆同一个账户而不出现信息错乱或者“挤下线”行为

    6)通过设置User表的字段accountState(属性值有:锁定中、已激活、待激活三种值;还可增加值,例如:操作授权码等)控制普通用户使用软件服务权限。

      可在LoginFilter中,进行判定。

      

      小结:在HTTP无状态协议下,以Session[sessionId]唯一地绑定(标识)一台终端设备;在Session机制下,以token绑定(标识)唯一的用户。

    二、登录与全局登录校验机制的业务流程

      通过自定义配置全局性过滤器,对login、register、register-activate等URI映射路径的登陆校验放行,但对除此之外的其他所有URI映射均进行操作前登陆校验。通过对每个会话绑定一个LoginUserMap,其节点由<token,User>组成;通过Session + LoginUserMap + token维护用户登录状态;通过客户端上传token,服务器端接收token,去对应Session的LoginUserMap中以token为键寻找User有无判别是否已登录。

    三、破解办法

      原理:拿到有效的sessionID,发送请求时带上该有效的sessionId,便解决了伪装成同一Session会话的问题;再带上该sessionId内有效登陆用户的token,解决伪装成同一Session中唯一地那位已登录的用户问题。以上两步骤,任一步骤都不能出错。

    四、翻译源

      [you dao] http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=family

      [Google]https://translate.google.cn/translate_a/single?client=gtx&sl=en&tl=ko&dt=t&q=googleq=how%20are%20you

      [search city by ip]http://pv.sohu.com/cityjson?ie=utf-8

    五、参考文献

      暂无

  • 相关阅读:
    JavaScript中{}+{}
    网站性能优化
    C++是如何从代码到游戏的?
    C++是如何从代码到游戏的?
    【力扣】至少是其他数字两倍的最大数 中速题解
    代码编辑器选择Atom还是VScode?
    TIOBE 4 月榜单:少儿编程语言 Scratch 进入 TOP 20
    熟悉一下oncontextmenu事件的知识
    input属性type为file打开文件资源管理器时,如何限制多次选取或只能一次选取的行为
    HTML5的拖放事件
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/9947106.html
Copyright © 2011-2022 走看看