php - 检查用户是否在另一个系统中登录问题

标签 php mysql symfony

我正在使用 symfony 2

我已检查用户是否从另一个系统登录,如下所示, 用户表中的字段:

  1. is_login(tinyint) 登录时为 1,注销时为 0
  2. last_login(datetime) 登录时完成输入

保存所有登录日志的表 -signup_log:

id(int -11)
user_id(int-11)
login_time(dat_time)
logout_time(date_time)

登录时,我从用户表中检查了is_login,如果它为“0”,则我允许登录系统。

上述功能存在一些问题:

  1. 如果用户登录到任何系统,并且系统崩溃
  2. 如果用户未正确注销(只需关闭浏览器或系统)

在上述两种情况下,is_login 不会设置为“0”。

我不知道这种情况该怎么办?

最佳答案

对于第 2 点,我将使用一些看门狗策略。每个用户操作都会刷新一个时间戳。在服务器端,一个 cron 任务检查 tajar 时间戳。如果时间戳大于阈值,则认为用户已注销。您可以通过刷新时间戳的 Ajax 调用来获得更多控制,以防用户可能花费很长时间阅读或进行其他操作而不向服务器发送请求。

关于php - 检查用户是否在另一个系统中登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547643/

相关文章:

mysql - UniqueEntity 验证失败 - Symfony?

symfony - 自动获取浏览器语言环境

doctrine-orm - 学说动态创建实体

javascript - PhoneGap 文件传输在上传到服务器时损坏 .mp3

php - 文件夹/文件结构约定?

php - 即使在 0777 目录中,也不会使用 imagepng 创建 PNG 图像

mysql - MySQL类型转换规则

php - 如何用Gearman实现循环任务列表?

mysql - 在 Mysql 中对行中的范围进行分组

php - 将没有输入字段的 html 表中的 php 值发布到数据库