防止多次登录 Codeigniter 4
prevent multiple login Codeigniter 4
我想制作登录系统,并检查用户是否是多登录,并在当前用户登录时提示“帐户已在其他设备上登录”。如何制作这样的系统?我在 google 上搜索过,但找不到合适的
检查用户是否多次登录,并在当前用户登录时提示“帐户已在其他设备登录”
问题:
由于无状态服务器,您无法真正判断用户何时仍处于登录状态。
假设我在隐身 window 中登录。当我关闭会话时,cookie 将被删除。
但是在服务器上它仍然存在。你怎么知道我是否真的登录了?
解决方案:
您可以向服务器发出心跳请求并记录activity。
所以你每分钟都有一个 JS 代码发送请求,这样你就知道用户在线了。同样在每个请求中,您也设置了 cookie。
因此,您记录每分钟和每个请求的最后 activity 时间。
当用户尝试登录时,您检查记录的 activity 是否早于两分钟。
我想制作登录系统,并检查用户是否是多登录,并在当前用户登录时提示“帐户已在其他设备上登录”。如何制作这样的系统?我在 google 上搜索过,但找不到合适的
检查用户是否多次登录,并在当前用户登录时提示“帐户已在其他设备登录”
问题:
由于无状态服务器,您无法真正判断用户何时仍处于登录状态。 假设我在隐身 window 中登录。当我关闭会话时,cookie 将被删除。 但是在服务器上它仍然存在。你怎么知道我是否真的登录了?
解决方案:
您可以向服务器发出心跳请求并记录activity。 所以你每分钟都有一个 JS 代码发送请求,这样你就知道用户在线了。同样在每个请求中,您也设置了 cookie。
因此,您记录每分钟和每个请求的最后 activity 时间。 当用户尝试登录时,您检查记录的 activity 是否早于两分钟。