From 5d3962bba474892bcdc9d852a3561ec73be346c9 Mon Sep 17 00:00:00 2001 From: Riyyi Date: Fri, 26 Nov 2021 15:32:50 +0100 Subject: [PATCH] Model+Controllers: Make failed login attempt check consistent --- app/classes/User.php | 2 +- app/controllers/LoginController.php | 2 +- app/model/UserModel.php | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/classes/User.php b/app/classes/User.php index aa08570..90472be 100644 --- a/app/classes/User.php +++ b/app/classes/User.php @@ -41,7 +41,7 @@ class User { $user = UserModel::search(['username' => $username]); $success = false; - if ($user->exists() && $user->failed_login_attempt <= 2) { + if ($user->exists() && $user->loginAllowed()) { $saltPassword = $user->salt . $password; if (password_verify($saltPassword, $user->password)) { $success = true; diff --git a/app/controllers/LoginController.php b/app/controllers/LoginController.php index 1d20779..13fa41e 100644 --- a/app/controllers/LoginController.php +++ b/app/controllers/LoginController.php @@ -43,7 +43,7 @@ class LoginController extends PageController { } else { $user = User::getUser('', $_POST['username']); - if ($user->exists() && $user->failed_login_attempt >= 5) { + if ($user->exists() && !$user->loginAllowed()) { $this->setAlert('danger', 'User has been blocked.'); } else { diff --git a/app/model/UserModel.php b/app/model/UserModel.php index f0ef029..d18c7d6 100644 --- a/app/model/UserModel.php +++ b/app/model/UserModel.php @@ -3,5 +3,18 @@ namespace App\Model; class UserModel extends Model { + protected $table = 'user'; + + //-------------------------------------// + + public function loginAllowed(): bool + { + if (property_exists($this, 'failed_login_attempt') && $this->failed_login_attempt < 5) { + return true; + } + + return false; + } + }