0

目前,我和我的一个朋友正在一个网站上工作。我们的登录系统已关闭,但正在使用会话。我本人一直使用 cookie 进行登录,尽管我的朋友更喜欢会话。我一直告诉他我们应该有两个或更多会话可以与数据库进行比较,以确保它是准确的用户,而不是以某种方式骗取 ID 的人。

例如:

$_SESSION['id'] = $YourId;
$_SESSION['salt'] = $SomethingElseTheDatabaseHas;

这使其更加安全,而不仅仅是数据库可以比较的一个会话。

4

1 回答 1

8

由于会话数据存储在服务器端,因此使用多个会话变量来存储信息对安全没有任何帮助。客户端唯一知道会话的是它存储在 cookie 中的会话 ID。服务器使用会话 ID 为用户查找数据。如果您使用存储在 cookie 中的哈希来识别用户,那么您不妨使用会话,因为这基本上做同样的事情,但使处理用户数据变得更加容易。

我不确定您使用 cookie 存储数据的确切含义,但如果您的意思是客户端会有一个带有服务器用于身份验证的用户 ID 的 cookie,您应该立即重写它,因为它基本上允许用户成为他们想要的任何人。

于 2012-08-28T02:08:09.367 回答