如何安全地存储和访问用户会话数据
How to safely store and access user session data
我目前正在学习Web应用程序中的安全方面。
我的应用程序用于通过成功登录时创建的cookie来识别当前用户。它包含用户的 ID。每次用户向数据库发出请求时,我的应用程序都会使用该 id 仅选择与此 id 关联的那些结果。
但是,正如我所了解到的,简单地更改该cookie的值并因此可以访问其他用户的数据完全没有问题。
我现在的问题是:我如何安全地存储这些数据并使其可用于PHP和Javascript?
我想到了HTML5 sessionStorage,但它也很脆弱。
我的第二个想法是用PHP只将其存储在$_SESSION变量中,但是我无法通过Javascript访问它的值。
我觉得我无法理解如何创建一个安全且功能强大的用户管理系统的基本概念。
任何帮助将不胜感激。
我只会将用户 ID 数据存储在会话中。为什么需要饼干?要在JS和PHP之间进行通信,请使用ajax。最好的库是jQuery.
简单的解决方案:
- 将用户密钥字段添加到数据库。
- 当用户登录时,生成一个随机的唯一字符串并将其保存在数据库中
- 将此字符串保存在 cookie 中。将用户 ID 保存在 Cookie 中。
下次访问时,从具有相应用户密钥和 ID 的数据库用户中进行选择。
它有点安全,因为字符串是随机的,所以只有蛮力有帮助。
字符串更长 - 更难暴力破解。
解决方案很简单,可以通过使用ID加密,检查IP等进行升级。
相关文章:
- React Native当前是否支持访问用户'的通讯簿
- 如何通过脚本访问用户控制值
- 如何在不更改Javascript页面的情况下访问用户输入的电子邮件
- 通过chrome后台扩展或后台应用程序访问用户麦克风
- Passport.js:使用主干网访问用户
- 通过oauth令牌passport.js访问用户配置文件
- 我可以访问用户脚本中的匿名函数变量吗?
- 如何在Meteor中访问用户的Facebook好友列表
- 如何使用图形 API 访问用户喜欢的信息
- 我可以使用Facebook Graph API访问用户的好友状态吗?
- javascript 可以访问用户在控制面板上的区域和语言格式首选项
- 如何访问用户所选网址的 DOM
- 火狐附加组件如何访问用户的书签文件夹
- 如何安全地存储和访问用户会话数据
- 兴访问用户配置文件 API
- 如何在基于 Web 的移动应用程序中访问用户的电话簿
- 使用Facebook Javascript SDK访问用户位置数据
- Facebook Javascript SDK-访问用户信息
- Trello如何访问用户'的剪贴板
- 管理数据访问/用户权限