服务器在使用cookie时如何知道用户信息?

时间:2011-11-15 21:44:51

标签: php cookies session-variables session-cookies

假设我在用户计算机上存储了一个cookie,当他回来时,我会检查他是否有cookie并将其重定向到安全页面(我知道这不安全,因为cookie可以在计算机上伪造,但这是只是一个理论问题)

服务器如何知道所有用户信息/密码,因为我只是根据存储在计算机上的cookie重定向用户?

2 个答案:

答案 0 :(得分:1)

将cookie绑定到存储在文件或数据库中的其他数据。

例如,cookie可以包含一个很长的,难以猜测的唯一密钥,该密钥在用户登录时插入到users表中的用户记录旁边。您的代码检查cookie值,然后查询匹配用户的表。密钥应该定期更改。

您可以使用会话,该会话将cookie与存储在服务器上的文件绑定。会话处理通常保留用于较短持续时间的活动,例如,在线商店的结账过程。

PHP可以自动化大部分会话功能。

http://www.php.net/manual/en/intro.session.php

使用这些技术时,您需要研究安全隐患(会话劫持)。

答案 1 :(得分:0)

通常,服务器会保存所有用户会话数据的副本,并为其提供唯一ID。 cookie本身只保存该ID的副本。当cookie被呈现给服务器并且调用session_start时,PHP使用cookie中的ID来恢复正确的会话。