From 5ca959fa688255a8de61f89fe2751eb4d24a6912 Mon Sep 17 00:00:00 2001 From: Florian Schaal <florian@schaal-24.de> Date: Tue, 22 Mar 2016 09:22:07 -0400 Subject: [PATCH] fixed typo --- interface/lib/classes/validate_password.inc.php | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php index 9619637..f36f162 100644 --- a/interface/lib/classes/validate_password.inc.php +++ b/interface/lib/classes/validate_password.inc.php @@ -33,24 +33,34 @@ private function _get_password_strength($password) { $length = strlen($password); + $points = 0; if ($length < 5) { return 1; } + $different = 0; + if (preg_match('/[abcdefghijklnmopqrstuvwxyz]/', $password)) { + $different += 1; + } + if (preg_match('/[ABCDEFGHIJKLNMOPQRSTUVWXYZ]/', $password)) { $points += 1; + $different += 1; } if (preg_match('/[0123456789]/', $password)) { $points += 1; + $different += 1; } - if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) { + if (preg_match('/[`~!@#$%^&*()_+|\\=\-\[\]}{\';:\/?.>,<" ]/', $password)) { $points += 1; + $different += 1; } + - if ($points == 0) { + if ($points == 0 || $different < 3) { if ($length >= 5 && $length <= 6) { return 1; } else if ($length >= 7 && $length <= 8) { @@ -96,6 +106,8 @@ function password_check($field_name, $field_value, $validator) { global $app; + if($field_value == '') return false; + $app->uses('ini_parser,getconf'); $server_config_array = $app->getconf->get_global_config(); @@ -112,7 +124,7 @@ $lng_text = str_replace('{chars}', $min_password_length, $lng_text); } if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING! - + if(strlen($field_value) < $min_password_length) return $lng_text; if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text; -- Gitblit v1.9.1