1

我已经实现了一个登录系统,在 3 次不成功的尝试(使用$_SESSION变量)之后,在用户的计算机上创建了一个 cookie,该 cookie 在 10 分钟内过期。现在我知道这肯定是不够的,因为他们可以删除 cookie。现在,我想知道的是,当我实现一个表以通过 IP 和用户名组合捕获不正确的登录时,这个表什么时候被清除?阻塞时间到期后,用户何时成功登录?

假设这个表填充了 1000 个条目,我该如何自动清除它?表的结构是什么?

我建议:
4 个字段: ID、IP、用户名(这将是他们的电子邮件地址)、block_time(用户可以再次登录的时间)?

4

1 回答 1

1

您可以在首次登录失败后创建记录,登录成功后将其删除。
第二种方法是创建“修改”列,并使用一些 php-cron 脚本清理它。

INSERT INTO user_logins(user_hash, time) VALUES(?,?)
ON DUPLICATE KEY UPDATE time = now()

当然,您的主键是 user_hash。

于 2011-02-28T08:30:14.540 回答