-1

目前,我已将其设置为,当用户登录其帐户时,它会检查cookies数据库中的表。如果该用户的数据库中已经存在一行,它将使用新的哈希更新数据库和用户的 cookie。如果该用户的行不存在,它会在数据库中设置一个新的哈希,并为该用户设置 cookie。

这样做的问题是,如果用户从不同的设备登录,它将在任何其他设备上注销,因为 cookie 中的哈希与其他设备不匹配。

我该如何解决这个问题?与其更新数据库中的哈希,不如在他们每次登录时继续添加新行会更好吗?

请帮忙。

4

2 回答 2

0

我会在他们每次登录时添加新行。记录他们登录时的时间戳,然后您可以检查并删除任何过期的 cookie,这样您就不会有大量的行带有过期的 cookie 信息。每次用户登录时,我都会执行此检查。

您可能还需要考虑存储 IP 和/或用户代理。然后,您可以设置一个页面来向用户显示他们当前的会话,并让他们可以选择在需要时撤销它们。

于 2013-10-22T23:54:27.920 回答
0

如果用户已存在于数据库中 - 不要更新哈希,只需使用 db 中的哈希为新用户设置 cookie

于 2013-10-22T23:49:32.727 回答