0

我目前正在学习 Web 应用程序中的安全方面。

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

但是,据我所知,简单地更改该 cookie 的值并因此访问其他用户的数据完全没有问题。

我现在的问题是:我将如何安全地存储这些数据并使其对 PHP 和 Javascript 都可用?

我想到了 HTML5 sessionStorage,但这也很容易受到攻击。

我的第二个想法是通过 PHP 仅将其存储在 $_SESSION 变量中,但随后我无法通过 Javascript 访问它的值。

我觉得我无法理解如何创建安全且功能强大的用户管理系统的基本概念。

任何帮助将不胜感激。

4

2 回答 2

0

我只会将用户 ID 数据存储在会话中。为什么需要 cookie?要在 JS 和 PHP 之间进行通信,请使用 ajax。最好的库是jQuery

于 2013-09-27T12:48:18.307 回答
0

简单的解决方案:

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

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

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

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

解决方法很简单,可以通过ID加密、IP校验等方式进行升级。

于 2013-09-27T12:52:25.207 回答