diff --git a/module/admin/lang/zh-cn.php b/module/admin/lang/zh-cn.php
index 8e3ec70476..7fb9e15cfc 100644
--- a/module/admin/lang/zh-cn.php
+++ b/module/admin/lang/zh-cn.php
@@ -64,4 +64,5 @@ $lang->admin->safe->reasonList['mobile'] = '与手机相同';
$lang->admin->safe->reasonList['phone'] = '与电话相同';
$lang->admin->safe->reasonList['birthday'] = '与生日相同';
-$lang->admin->safe->noticeMode = '系统会在登录、创建和修改用户、修改密码的时候检查用户口令。';
+$lang->admin->safe->noticeMode = '系统会在登录、创建和修改用户、修改密码的时候检查用户口令。';
+$lang->admin->safe->noticeStrong = '密码长度越长,含有大写字母或数字或特殊符合越多,密码字母越不重复,安全度越强!';
diff --git a/module/admin/view/safe.html.php b/module/admin/view/safe.html.php
index 78484f9304..227267c16f 100644
--- a/module/admin/view/safe.html.php
+++ b/module/admin/view/safe.html.php
@@ -25,6 +25,10 @@
admin->safe->modeList, isset($config->safe->mode) ? $config->safe->mode : 0)?> |
admin->safe->noticeMode?> |
+
+ |
+ admin->safe->noticeStrong;?> |
+
| admin->safe->weak?> |
safe->weak, "class='form-control' rows='4'")?> |
diff --git a/module/my/view/changepassword.html.php b/module/my/view/changepassword.html.php
index 189a16c960..3629b16b2b 100755
--- a/module/my/view/changepassword.html.php
+++ b/module/my/view/changepassword.html.php
@@ -29,7 +29,7 @@
user->password;?> |
-
+ safe->mode) ? $lang->user->placeholder->passwordStrength[$config->safe->mode] : '') . "'");?>
|
diff --git a/module/my/view/editprofile.html.php b/module/my/view/editprofile.html.php
index b8c5364a67..4cd9b18f7d 100644
--- a/module/my/view/editprofile.html.php
+++ b/module/my/view/editprofile.html.php
@@ -55,7 +55,7 @@
user->password;?> |
-
+ safe->mode) ? $lang->user->placeholder->passwordStrength[$config->safe->mode] : '') . "'");?>
|
diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php
index 0fc9f2680e..d6483e6a2f 100644
--- a/module/user/lang/zh-cn.php
+++ b/module/user/lang/zh-cn.php
@@ -141,6 +141,9 @@ $lang->user->placeholder->join = '入职日期';
$lang->user->placeholder->commiter = '版本控制系统(subversion)中的帐号';
$lang->user->placeholder->verify = '需要输入你的密码加以验证';
+$lang->user->placeholder->passwordStrength[1] = '强度必须为中,尽量多包含数字,大写字母';
+$lang->user->placeholder->passwordStrength[2] = '强度必须为强,15位以上,密码尽量复杂';
+
$lang->user->error = new stdclass();
$lang->user->error->account = "ID %s,英文、数字和下划线的组合,三位以上";
$lang->user->error->accountDupl = "ID %s,该用户名已经存在";
diff --git a/module/user/model.php b/module/user/model.php
index 94afed11ed..1abc88a4ae 100644
--- a/module/user/model.php
+++ b/module/user/model.php
@@ -1003,18 +1003,23 @@ class userModel extends model
$chars = str_split($password);
foreach($chars as $letter)
{
- if($letter >= 48 && $letter <= 57)
- {
- $strength += 1;
- }
- elseif($letter >= 65 && $letter <= 90)
- {
- $strength += 1;
- }
- elseif(!($letter >= 97 && $letter <= 122))
+ $asc = ord($letter);
+ if($asc >= 48 && $asc <= 57)
{
$strength += 2;
}
+ elseif($asc >= 65 && $asc <= 90)
+ {
+ $strength += 2;
+ }
+ elseif($asc >= 97 && $asc <= 122)
+ {
+ $strength += 1;
+ }
+ else
+ {
+ $strength += 3;
+ }
if(strpos($uniqueChars, $letter) === false) $uniqueChars .= $letter;
}
$strength += strlen($uniqueChars) * 2;
diff --git a/module/user/view/create.html.php b/module/user/view/create.html.php
index 3368cc51c1..81916af57e 100644
--- a/module/user/view/create.html.php
+++ b/module/user/view/create.html.php
@@ -12,6 +12,7 @@
?>
+safe->mode)) $lang->user->placeholder->password1 = $lang->user->placeholder->passwordStrength[$config->safe->mode]?>
user->placeholder);?>
diff --git a/module/user/view/edit.html.php b/module/user/view/edit.html.php
index b361344227..5b6362ade2 100644
--- a/module/user/view/edit.html.php
+++ b/module/user/view/edit.html.php
@@ -56,7 +56,7 @@
user->password;?> |
-
+ safe->mode) ? $lang->user->placeholder->passwordStrength[$config->safe->mode] : '') . "'");?>
|
diff --git a/www/js/my.full.js b/www/js/my.full.js
index f1cd87b9fa..15e2bf98eb 100644
--- a/www/js/my.full.js
+++ b/www/js/my.full.js
@@ -1299,17 +1299,22 @@ function computePasswordStrength(password)
for(i = 0; i < length; i++)
{
letter = password.charAt(i);
- if(letter >= 48 && letter <= 57)
+ var asc = letter.charCodeAt();
+ if(asc >= 48 && asc <= 57)
{
- strength += 1;
+ strength += 2;
}
- else if((letter >= 65 && letter <= 90))
+ else if((asc >= 65 && asc <= 90))
{
- strength += 1;
+ strength += 2;
}
- else(!(letter >= 97 && letter <= 122))
+ else if(asc >= 97 && asc <= 122)
{
- strength += 2;
+ strength += 1;
+ }
+ else
+ {
+ strength += 3;
}
if(uniqueChars.indexOf(letter) == -1) uniqueChars += letter;
}