* Finish task #65551.
This commit is contained in:
@@ -75,6 +75,7 @@ $lang->admin->safe->checkWeak = '弱口令扫描';
|
||||
$lang->admin->safe->changeWeak = '修改弱口令密码';
|
||||
$lang->admin->safe->loginCaptcha = '登录使用验证码';
|
||||
$lang->admin->safe->modifyPasswordFirstLogin = '首次登录修改密码';
|
||||
$lang->admin->safe->passwordStrengthWeak = '密码强度小于系统设置';
|
||||
|
||||
$lang->admin->safe->modeList[0] = '不检查';
|
||||
$lang->admin->safe->modeList[1] = '中';
|
||||
|
||||
@@ -234,13 +234,6 @@ class adminModel extends model
|
||||
{
|
||||
$weaks = array();
|
||||
|
||||
/* Check weak password when login. */
|
||||
if($this->app->moduleName == 'user' and $this->app->methodName == 'login')
|
||||
{
|
||||
if(!isset($_POST['passwordStrength'])) return false;
|
||||
if(isset($this->config->safe->mode) and $this->post->passwordStrength < $this->config->safe->mode) return true;
|
||||
}
|
||||
|
||||
foreach(explode(',', $this->config->safe->weak) as $weak)
|
||||
{
|
||||
$weak = md5(trim($weak));
|
||||
|
||||
@@ -162,7 +162,7 @@ $lang->install->account = '管理员帐号';
|
||||
$lang->install->password = '管理员密码';
|
||||
|
||||
$lang->install->placeholder = new stdclass();
|
||||
$lang->install->placeholder->password = '六位及以上,包含数字、字母和特殊字符';
|
||||
$lang->install->placeholder->password = '6位及以上,包含大小写字母,数字。';
|
||||
|
||||
$lang->install->errorEmpty['company'] = "{$lang->install->company}不能为空";
|
||||
$lang->install->errorEmpty['account'] = "{$lang->install->account}不能为空";
|
||||
|
||||
@@ -516,14 +516,13 @@ class installModel extends model
|
||||
}
|
||||
}
|
||||
|
||||
$this->loadModel('user');
|
||||
$this->app->loadConfig('admin');
|
||||
/* Check password. */
|
||||
if(!validater::checkReg($this->post->password, '|(.){6,}|')) dao::$errors['password'][] = $this->lang->error->passwordrule;
|
||||
if(isset($this->config->safe->mode) and (strlen($this->post->password) < $this->config->safe->mode)) dao::$errors['password'][] = $this->lang->user->weakPassword;
|
||||
if(!empty($this->config->safe->changeWeak))
|
||||
{
|
||||
if(!isset($this->config->safe->weak)) $this->app->loadConfig('admin');
|
||||
if(strpos(",{$this->config->safe->weak},", ",{$this->post->password},") !== false) dao::$errors['password'][] = sprintf($this->lang->user->errorWeak, $this->config->safe->weak);
|
||||
}
|
||||
if($this->user->computePasswordStrength($this->post->password) < 1) dao::$errors['password'][] = $this->lang->user->placeholder->passwordStrengthCheck[1];
|
||||
if(!isset($this->config->safe->weak)) $this->app->loadConfig('admin');
|
||||
if(strpos(",{$this->config->safe->weak},", ",{$this->post->password},") !== false) dao::$errors['password'] = sprintf($this->lang->user->errorWeak, $this->config->safe->weak);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
/* Insert a company. */
|
||||
|
||||
@@ -54,8 +54,9 @@
|
||||
<?php if(!empty($this->app->user->modifyPasswordReason)):?>
|
||||
<?php $this->app->loadLang('admin');?>
|
||||
<div class='alert alert-info'>
|
||||
<?php $reason = $this->app->user->modifyPasswordReason;?>
|
||||
<?php echo $lang->admin->safe->common . ' : ';?>
|
||||
<?php echo $this->app->user->modifyPasswordReason == 'weak' ? $lang->admin->safe->changeWeak : $lang->admin->safe->modifyPasswordFirstLogin;?>
|
||||
<?php echo $reason == 'weak' ? $lang->admin->safe->changeWeak : $lang->admin->safe->$reason;?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
|
||||
@@ -920,6 +920,12 @@ class userModel extends model
|
||||
$user->modifyPassword = $this->loadModel('admin')->checkWeak($user);
|
||||
if($user->modifyPassword) $user->modifyPasswordReason = 'weak';
|
||||
}
|
||||
/* Check weak password when login. */
|
||||
if(!$user->modifyPassword and $this->app->moduleName == 'user' and $this->app->methodName == 'login' and isset($_POST['passwordStrength']))
|
||||
{
|
||||
$user->modifyPassword = (isset($this->config->safe->mode) and $this->post->passwordStrength < $this->config->safe->mode);
|
||||
if($user->modifyPassword) $user->modifyPasswordReason = 'passwordStrengthWeak';
|
||||
}
|
||||
|
||||
/* code for bug #2729. */
|
||||
if(defined('IN_USE')) $this->dao->update(TABLE_USER)->set('visits = visits + 1')->set('ip')->eq($ip)->set('last')->eq($last)->where('account')->eq($account)->exec();
|
||||
|
||||
Reference in New Issue
Block a user