在cookie中设置会话并从PHP PHP中检索会话

时间:2014-07-06 19:21:01

标签: php session cookies

是否可以使用已创建的会话和会话ID设置cookie,然后在您下次访问该页面时从cookie中检索会话。我正在尝试在登录页面上记住我按钮,并想知道是否可以这样做。

1 个答案:

答案 0 :(得分:1)

不要尝试延长PHP会话以构建“记住我”功能。重新初始化会话要好得多。

最常见的情况是:

  1. 当用户访问带有“记住我”复选框的网站时,该网站会生成一个唯一代码(一个相当长的随机字符串),并将其存储在Cookie和服务器端数据库中。

  2. 当用户关闭浏览器时会话关闭,但cookie仍然存在。

  3. 下次用户到达时,服务器将看到cookie,在数据库中找到它并根据代码而不是用户/密码对对他进行身份验证。

  4. 这将是一个很好的起点,但此外还有一些增强功能:

    1. 您可以在Cookie中保存用户名和唯一代码。使用这一对进行身份验证更安全,更快捷。

    2. 您可以在数据库中保存用户的IP,以便验证数据仅适用于此IP。

    3. 您可以动态地将代码构建为基于用户密码加盐的哈希,而不是生成唯一代码并将其保存到数据库中。这样可以使您的数据库免于写入操作。

    4. 根据安全/速度要求,可能存在这种情况的变化,但基数保持不变:使用cookie标记用户,一旦他回来就重新验证他。