2013-09-27 80 views
0

我目前正在了解Web应用程序中的安全方面。如何安全地存储和访问用户会话数据

我的应用程序用于通过成功登录时创建的cookie识别当前用户。它包含用户的ID。每次用户向数据库发出请求时,我的应用程序都会使用该ID来选择仅与该ID关联的结果。

然而,正如我了解到,这将是一点问题都没有简单地改变cookie的值,因此可以访问其他用户的数据。

我现在的问题是:我怎么会安全地存储这些数据,并使其可用于PHP和JavaScript的?

我想到了HTML5 sessionStorage,但那也会很脆弱。

我的第二个想到的是它的PHP仅在$ _SESSION变量中存储,但我无法通过JavaScript访问它的价值。

我觉得我不能环绕的如何建立一个安全和功能的用户管理系统的基本概念,我的头。

任何帮助将不胜感激。

+0

可以打开在服务器的会话与联营用户ID –

+0

验证cookie的你考虑的可能性你不需要这个值客户端(JavaScript)?任何类型的验证都应该在服务器端完成。 – Gray

+0

您是否阅读过手册:http://php.net/manual/en/session.examples.basic.php? – jeff

回答

0

我只会在会话中存储用户标识数据。你为什么需要cookies? 要在JS和PHP之间进行通信,请使用ajax。对此的最佳图书馆是jQuery

0

简单的解决方案:

  1. 一个USERKEY字段添加到数据库中。
  2. 当用户登录时,生成一个随机唯一字符串并将其保存在数据库中
  3. 将此字符串保存在cookie中。将用户ID保存在Cookie中。

在下次访问时,请从数据库用户中选择相应的userKey和ID。

它有点安全,因为字符串是随机的,所以只有bruteforce有帮助。

更长的字符串 - 难以暴力破解。

解决方法很简单,可以通过使用ID的crypting,检查IP升级等