持久的会议

ilh*_*han 0 php session user-identification

是否有良好的库或逻辑来创建这个:用户识别的持久(几年)会话.像Gmail和Facebook这样的会话管理将是奖金.

Mat*_*lin 7

您需要设置cookie和会话的混合.请记住,会话仅持续到浏览器关闭或甚至最差,直到2个请求之间的时间超过服务器强加的时间限制.

首先要使所有这一切成为可能,您将被迫使用cookie.为此,请注意,如果用户更改浏览器或刷新其cookie,则永久会话将停止工作.

第二件事是在cookie中创建一个哈希,只能从该位置为该用户使用.例如:使用REMOTE_ADDR的哈希值和数据库中的用户ID.因此,它不会成为安全威胁,因为除了现在没有做太多的哈希之外,没有可以从cookie中推断出的信息.

第三,当用户发送请求时,检查该cookie是否存在并使用散列与数据库中的相同散列进行比较.(您可以将此哈希放在用户的表中,但我建议创建另一个表,以便用户可以从几个地方进行通用登录)数据库中的此哈希将是检索您要登录的帐户的关键.

第四,当你找到要登录的帐户时,记得更新cookie中的哈希值,显然此时使用php中的SESSION系统继续正常处理你的应用程序.

对于许多" 记住我 "的网站来说,这种方法已被证明是成功的...