锁定用户的帐户

时间:2013-07-03 09:23:42

标签: php html account

我试图弄清楚在尝试登录X次尝试失败后如何锁定用户的帐户。我知道我需要一个计数器来判断失败的次数。到目前为止,这是我的伪代码:

    int i=0;
    when login fails{
      i++; }
    if(i == 3) {
      lock account for 3 minutes; }

以下是我的两个问题:

- 如何锁定用户的帐户?

- 如何将用户锁定3分钟并且不允许他们刷新页面并再次尝试3次?

2 个答案:

答案 0 :(得分:2)

我建议您在当前用户的数据库的users表中存储阻止用户的时间。

然后,在加载您网站上的任何页面页面时,您应该检查数据库中的此字段并将其与当前时间进行比较。如果差异大于3分钟,则可以从数据库中删除“阻止的用户”标志,并将用户设置为未阻止。

答案 1 :(得分:0)

您可以使用会话:

session_start();

if (!isset($_SESSION['LOGIN_ATTEMPTS'], $_SESSION['LAST_LOGIN_ATTEMPT'])){
   $_SESSION['LOGIN_ATTEMPTS'] = 0 ;
   $_SESSION['LAST_LOGIN_ATTEMPT'] = null ;
}

if (isset($_POST['login'])){
  $_SESSION['LOGIN_ATTEMPTS'] += 1 ;
  $_SESSION['LAST_LOGIN_ATTEMPT'] = time("now") ;
}