我有一个数据库表来记录用户活动。它通过每页顶部的登录检查脚本将最新活动存储在网站上,只要他们浏览新页面,就会将活动时间更新为现在。然后,当他们退出时,它现在就进入他们的“最后在线时间”。通过这种方式,我可以在网站上生成“谁在线”列表,当有人再次登录时,我可以通过查看最后一次在线时间来告诉他们关于新帖子和活动的信息。
但是,如果有人没有注意到我注意到有几个人在做什么,那么他们的上一次在线时间就不会更新,上次访问后的新活动将无法正常运行。
我正在使用php和会话数据,还没有使用cookie,因此我想编写一个“保持登录状态”功能,必须使用cookie,我认为他们可以提供帮助。
我想我可以用最新的活动时间更新每个页面上的cookie,然后再检查一下是否超过几个小时或类似的时间。有没有人有任何建议?
由于
答案 0 :(得分:1)
只需设置最后一个在线cookie(使用密钥进行哈希处理以防止伪造),并在每次有人查看页面时更新它。你走在正确的轨道上。
我认为问题是用户只是关闭浏览器标签而不是注销,而且它不会触发更改数据库中时间戳的脚本?或者用户是否只是将标签打开了无数的时间?
无论如何,检查cookie应该为你处理这个功能(不要忘记用密钥哈希吧!懒惰是安全的杀手。)
答案 1 :(得分:0)
对于最后一个在线功能,只需将时间和日期标记放入数据库,然后将其加载到最后一次显示的数据库中。名单。然后为了让我登录部分将密码的md5哈希保存到cookie中并在登录时检查(使用javascript)。