是否可以使用已创建的会话和会话ID设置cookie,然后在您下次访问该页面时从cookie中检索会话。我正在尝试在登录页面上记住我按钮,并想知道是否可以这样做。
答案 0 :(得分:1)
不要尝试延长PHP会话以构建“记住我”功能。重新初始化会话要好得多。
最常见的情况是:
当用户访问带有“记住我”复选框的网站时,该网站会生成一个唯一代码(一个相当长的随机字符串),并将其存储在Cookie和服务器端数据库中。
当用户关闭浏览器时会话关闭,但cookie仍然存在。
下次用户到达时,服务器将看到cookie,在数据库中找到它并根据代码而不是用户/密码对对他进行身份验证。
这将是一个很好的起点,但此外还有一些增强功能:
您可以在Cookie中保存用户名和唯一代码。使用这一对进行身份验证更安全,更快捷。
您可以在数据库中保存用户的IP,以便验证数据仅适用于此IP。
您可以动态地将代码构建为基于用户密码加盐的哈希,而不是生成唯一代码并将其保存到数据库中。这样可以使您的数据库免于写入操作。
根据安全/速度要求,可能存在这种情况的变化,但基数保持不变:使用cookie标记用户,一旦他回来就重新验证他。