假设我在用户计算机上存储了一个cookie,当他回来时,我会检查他是否有cookie并将其重定向到安全页面(我知道这不安全,因为cookie可以在计算机上伪造,但这是只是一个理论问题)
服务器如何知道所有用户信息/密码,因为我只是根据存储在计算机上的cookie重定向用户?
答案 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来恢复正确的会话。