为什么并非所有用户都在USERMETA表中拥有‘SESSION_TOKENS’META_KEY记录?

时间:2020-09-16 作者:User Training

我根据这篇好文章创建了自己的代码-https://shocksolution.com/2019/04/16/find-last-login-time-for-wordpress-users-in-the-sql-database/ 获取用户的上次登录日期。

我发现并非所有用户都在usermata表中有“session\\u tokens”meta\\u键记录,尽管他们已经登录了好几次。

有人能解释一下吗?

非常感谢

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

当会话被销毁时,它将从meta中的列表中删除。Importantly, if the list is empty, the meta is deleted.

因此,如果用户注销、会话过期、用户被删除或用户在其配置文件页面上清除会话,这些都可能导致没有会话,因此没有用户元。

根本问题是对这些课程的误解。这不是最后一次登录的时间,而是活动会话开始的时间。如果没有活动会话,则没有要列出的会话。

因此,如果我在周一登录桌面,周二登录手机,然后在周三注销手机,您的代码将显示我最后一次登录是在周一,而不是周二。移动设备的会话已结束,并已清理。

这样,就可以在没有检测的情况下登录。This method cannot be used to reliably detect the last time the user was seen.