即使在用户关闭浏览器后如何延长会话?

时间:2012-06-17 17:44:32

标签: php

我需要一种方法来维护会话,即使用户关闭浏览器(直到用户点击注销)而不在数据库中存储会话

最好的方法是什么?

我可以在Cookie中存储用户名+密码(哈希值)吗?

2 个答案:

答案 0 :(得分:1)

保存在Cookie中,有很长的到期时间(比如1个月左右)。 不需要密码哈希,只需要一些识别哈希,即存储在数据库中以及用户端(比较中),这样就可以进行比较。

答案 1 :(得分:1)

当用户登录时,您应该生成一个随机令牌,1)将其保存在您的数据库中,2)设置一个包含用户名和随机令牌的cookie。

然后,您应该创建一个函数来获取此cookie并将令牌与您的数据库中的令牌匹配。如果令牌相同,则应启动会话并生成新会话。

使用随机令牌而不是密码,否则它将始终相同。

请记住,您的“是用户登录”功能必须首先检查会话是否已打开,否则将针对用户访问的每个页面重复此过程。