Как ограничить попытки входа пользователя в систему Angular.js (машинопись) - PullRequest
0 голосов
/ 05 ноября 2018

Мой код ограничивает попытки входа пользователя, но при обновлении страницы он сбрасывает количество пользователей.

login() {
/* Only attempt login if user has less than 5 login attempts */
if (this.failedAttempts < 4) {


  this.auth.login(this.credentials).subscribe(() => {
    this.router.navigateByUrl('/');
    this.alert.success('Welcome! Thanks for logging in!');
  }, (err) => {
    this.failedAttempts++;
    console.error(err);
    this.alert.error('Login failed. Invalid email or password.');
  });
  /*If user reaches 5 failed attempts refresh number of failed attempts after 5 minutes and disable submit button*/
} else if (this.failedAttempts < 4) {
} else {
  /*increments number of times locked out */
  this.numLockedOut++;

  this.alert.error('Login failed. Invalid email or password. Locked out for ' + (this.numLockedOut * 300000) / 60000 + ' minutes');
  this.btnDisable = true;
  setTimeout(() => this.failedAttempts = 0, this.numLockedOut * 300000);
  setTimeout(() => this.btnDisable = false, this.numLockedOut * 300000);
}

}

Как мне settimeout() без перезапуска часов при обновлении страницы ?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы почти наверняка захотите записывать неудачные попытки входа в систему на своем сервере, а не в браузере. Даже если этот код работает, для кого-то будет тривиально отредактировать Javascript в своем браузере и сделать столько попыток входа в систему, сколько он пожелает.

Если на вашем сервере была сделана запись попыток входа в систему для данного имени пользователя, то ответ от сервера мог бы сказать вам, что количество попыток входа в систему превысило допустимое количество, и угловой код мог бы просто передать эту информацию пользователю. Это также решит проблему, связанную с тем, что количество попыток не сохраняется между посещениями страницы. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...