通过将数据存储在会话存储中进行会话管理
Posted
技术标签:
【中文标题】通过将数据存储在会话存储中进行会话管理【英文标题】:session management by storing data in sessionstorage 【发布时间】:2017-12-02 02:12:51 【问题描述】:我通过使用 AngularJs 将用户数据存储在浏览器的 sessionStorage 中来处理会话。我使用的基本流程如下:
-
前端登录
从节点即后端返回用户
将返回的数据存储在 sessionStorage 中
向服务器发送每个请求的用户 ID
退出时清除存储
我的方法正确吗? 如果没有,那么如何在 MEAN 应用程序中有效地管理会话?
【问题讨论】:
【参考方案1】:将关键数据作为令牌存储到 LocalStorage 或 SessionStorage 绝对不是一个好主意,因为它容易受到 XSS 攻击。
更好的做法是将这些信息存储在 cookie 中...但是,我们还没有在这里完成,因为 cookie 容易受到 CSRF 攻击。
因此,最好的方法是将关键信息存储在 cookie 中,并通过在 SessionStorage 中存储随机生成的会话密钥来保护您的客户端免受 CSRF 的影响。
检查这个答案: CSRF Token necessary when using Stateless(= Sessionless) Authentication?
【讨论】:
以上是关于通过将数据存储在会话存储中进行会话管理的主要内容,如果未能解决你的问题,请参考以下文章