我的目标是创建一个存储用户信息及其密码的表。另外,我想跟踪登录失败的次数。但是,以下是有关这些表的简要说明:
第一:用户表
UserNo:用户的ID
名称:用户名
电子邮件
二:登录表
UserNo: 和上一个一样
密码
三:跟踪表
用户编号
DateTime:登录的日期和时间
count:每次用户错误登录时都会增加的计数器。
从最后三张表来看,我不认为我所做的是一种专业的方式。有没有更好的想法?尤其是跟踪表。
谢谢
我的目标是创建一个存储用户信息及其密码的表。另外,我想跟踪登录失败的次数。但是,以下是有关这些表的简要说明:
第一:用户表
UserNo:用户的ID
名称:用户名
电子邮件
二:登录表
UserNo: 和上一个一样
密码
三:跟踪表
用户编号
DateTime:登录的日期和时间
count:每次用户错误登录时都会增加的计数器。
从最后三张表来看,我不认为我所做的是一种专业的方式。有没有更好的想法?尤其是跟踪表。
谢谢
你为什么要把它们分开?为什么不只拥有一个包含 id、用户名、密码哈希、上次登录日期和失败尝试计数器的 users 表?
否则,您可以将登录尝试分开到它自己的表中并记录状态,例如成功或失败,这样您就可以按程序计算自上次成功尝试以来失败的尝试次数,并且它还提供对登录的完整审核,无论是否失败。
您可能希望将前两个表合并在一起,因为每个用户只有一个密码,因此将用户的所有数据放在一个表的一行中是有意义的。
第三个表记录每次登录的时间戳,如果您添加额外的列,也可以记录每次失败登录的时间戳,然后查询将为您提供每个用户的失败登录总数。
或者,如果您正在计算自上次登录以来失败的登录次数,那么您可以再次将计数器放在第一个表中。
几点:
除非您要保留密码历史记录,否则没有理由使用第二张表(在这种情况下,您需要一个额外的字段来跟踪密码的创建日期)
在第三个表中,不要对错误登录次数使用计数器;相反,为每次登录尝试(成功或其他)写入记录,并在需要时使用查询来检索计数。
您可以将所有字段放在一个表中
UserID, UserName, UserEmail, Password, Login_Timestamp, Counter
然后您可以将所有值保存在一个表中