From 38d010c693ce342c4274382f8208cb84e455c8c4 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Tue, 17 May 2022 11:09:39 +0000 Subject: [PATCH] fix password validation Closes #1066 Merge request studip/studip!631 --- app/controllers/admin/user.php | 3 ++- lib/classes/StudipInstaller.php | 2 +- lib/phplib/email_validation.class.php | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php index 7254eea37ce..9f574e2aec8 100644 --- a/app/controllers/admin/user.php +++ b/app/controllers/admin/user.php @@ -419,7 +419,8 @@ class Admin_UserController extends AuthenticatedController //change password if (($GLOBALS['perm']->have_perm('root') && Config::get()->ALLOW_ADMIN_USERACCESS) && (Request::get('pass_1') != '' || Request::get('pass_2') != '')) { if (Request::get('pass_1') == Request::get('pass_2')) { - if (mb_strlen(Request::get('pass_1')) < 4) { + $validator = new email_validation_class(); + if (!$validator->ValidatePassword(Request::get('pass_1'))) { $details[] = _('Das Passwort ist zu kurz. Es sollte mindestens 8 Zeichen lang sein.'); } else { $um->changePassword(Request::get('pass_1')); diff --git a/lib/classes/StudipInstaller.php b/lib/classes/StudipInstaller.php index 4b2f341df1c..b2c10f0c915 100644 --- a/lib/classes/StudipInstaller.php +++ b/lib/classes/StudipInstaller.php @@ -2,7 +2,7 @@ final class StudipInstaller { const USERNAME_REGEX = '/^([a-zA-Z0-9_@.-]{4,})$/'; - const PASSWORD_REGEX = '/^([[:print:]]{8,72})$/'; + const PASSWORD_REGEX = '/^([[:print:]]{8,})$/'; private $base_path; diff --git a/lib/phplib/email_validation.class.php b/lib/phplib/email_validation.class.php index 94ba99b7c17..070fa0213fa 100644 --- a/lib/phplib/email_validation.class.php +++ b/lib/phplib/email_validation.class.php @@ -9,7 +9,7 @@ class email_validation_class { var $username_regular_expression=null; - var $password_regular_expression="/^(.{8,72})\$/"; + var $password_regular_expression="/^.{8,}\$/"; var $name_regular_expression='/^[_ a-zA-ZÀ-ÿ\'-]+$/'; var $telefon_regular_expression="/^([0-9 \(\)\\/+_-]*)\$/"; var $timeout=10; @@ -97,7 +97,7 @@ class email_validation_class Function ValidatePassword($password) { - return(preg_match($this->password_regular_expression,$password)!=0); + return preg_match($this->password_regular_expression, $password) != 0; } Function ValidateName($name) -- GitLab