目前,我进行了设置,当用户登录其帐户时,它会检查数据库中的cookies
表。如果该用户的数据库中已存在一行,则会使用新哈希更新数据库和用户的cookie。如果该用户不存在该行,则会在数据库中设置新哈希,并为该用户设置cookie。
这个问题是,如果用户从其他设备登录,它会将它们记录在任何其他设备上,因为cookie中的哈希值与其他设备不匹配。
我该如何解决这个问题?是否更好,而不是更新数据库中的哈希值,每次登录时都不断添加新行?
请帮忙。
答案 0 :(得分:0)
如果用户已存在于数据库中 - 请勿更新哈希,只需使用db中的哈希为新用户设置cookie
答案 1 :(得分:0)
我每次登录时都会添加新行。记录他们登录时间的时间戳,然后您可以检查并删除任何过期的cookie,这样您就不会有大量的行,其中包含过期的cookie信息。每次用户登录时,我都会执行此检查。
您还可能需要考虑存储IP和/或用户代理。然后,您可以设置一个页面,向用户显示他们当前的会话,并为他们提供根据需要撤销它们的选项。