Discuz! X3.* “密码错误次数过多,请 15 分钟后重新登录”完美修改
分类 网站技术/村民张先生 发布于 2016-05-03 01:20
首先恭喜您看到本文,目前百度里搜到的其它修改方法都存在一些问题,
如果您要转载本文,请注意附带本页链接,非常感谢!
Discuz! 默认情况下,用户登录时输错密码 5 次将被锁定 15 分钟。
以下将其修改为输错 10 次锁定 5 分钟,您也可以根据自己的需要调整。
1、打开 uc_client/control/user.php 文件,
查找:
$this->settings['login_failedtime'] = is_null($this->settings['login_failedtime']) ? 5 : $this->settings['login_failedtime'];
将其中的 5 修改为 10 或其它您需要的容错次数,接下来的步骤中设定的次数须与此处保持一致!
2、打开 uc_client/model/user.php 文件,
查找:
$check_times = $this->base->settings['login_failedtime'] < 1 ? 5 : $this->base->settings['login_failedtime']; $username = substr(md5($username), 8, 15); $expire = 15 * 60;
将第一行中的 5 改为与本文第一步中相同的容错次数;
将 15 * 60 修改为 5 * 60 或其它您需要的错误锁定时间,接下的步骤中设定的锁定时间尽量与此处保持一致!
3、打开 source/function/function_member.php 文件,
查找:
$return = (!$login || (TIMESTAMP - $login['lastupdate'] > 900)) ? 5 : max(0, 5 - $login['count']); if(!$login) { C::t('common_failedlogin')->insert(array( 'ip' => $_G['clientip'], 'count' => 0, 'lastupdate' => TIMESTAMP ), false, true); } elseif(TIMESTAMP - $login['lastupdate'] > 900) { C::t('common_failedlogin')->insert(array( 'ip' => $_G['clientip'], 'count' => 0, 'lastupdate' => TIMESTAMP ), false, true); C::t('common_failedlogin')->delete_old(901);
将第一行中的两处 5 修改为之前步骤中指定的容错次数;
将其中的两处 900 (秒,即15分钟)修改为 300 或您需要的锁定时间(与之前步骤中指定的锁定时间<折算成秒>保持一致)。
4、打开 source/language/lang_message.php 语言包,
查找:
'login_strike' => '密码错误次数过多,请 15 分钟后重新登录',
将分钟数修改为之前步骤中指定的锁定时间(分钟)。
来源:大张小站 https://www.zhang.cq.cn/wenzhang-1713.html
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截