2010-08-07 34 views
2

我想在我的网站上设置临时禁止系统来禁止用户,例如仅限一天或一周。我可以选择禁令的持续时间,并将适当的记录写入数据库,所以我想知道在禁止期结束时是否可以自动更新该记录......或者您会提出什么建议?一段时间后自动解锁用户

回答

5

我会为禁用记录创建一个单独的表。每个记录将包含:

  • 被禁止的用户(外键)。
  • 谁提出了禁令(外键)。
  • 禁令发布时间。
  • 禁令到期的时间。
  • 禁令的原因。
  • 禁止时用户的IP地址。
  • 如果禁令仍然有效(如果您决定在全职时间到期之前取消用户禁用)。

也许一些其他信息,这取决于你想跟踪什么。当禁令到期时,而不是是从禁止表中删除记录的好主意。这意味着你有一个禁止你做的日志,这可以用来确定谁是重复犯人。

你可能会遇到的另一个问题是,人们故意通过抱怨不公平的禁令和谎言来解释什么时候以及为什么被禁止和解禁而引发问题。如果你保存了所有禁令的完整日志,处理这些人就容易多了。

+1

好的答案,这样,你可以追踪特定用户的禁止历史。另外,我们可能需要添加状态,以追踪已解除的禁令。稍后保存一些查询可能会很好。 – ariefbayu 2010-08-07 11:51:20

+0

@silent:+1好的,我加了。 – 2010-08-07 11:52:47

2

我会在数据库中保存禁止的结束日期(也可能是时间)。只要用户尝试登录,就可以将当前日期(时间)与结束日期进行比较;如果更新,用户不会被禁止并且可以登录。如果您的用户拥有配置文件,您可以做同样的事情:比较当前日期(时间)和禁止的结束,并根据该信息显示“禁止”。

相关问题