source\function
function_login.php
$return = (!$login || (TIMESTAMP - $login[‘lastupdate’] > 900)) ? 4 : max(0, 5 - $login[‘count’]);
900秒=15分钟 自己修改
source\language
lang_message.php
‘login_strike’ => ‘密码错误次数过多,请 10 秒后刷新页面重新登录’,
注意:10秒后一定要刷新登录界面才可以

discuz!X1.5:依次打开 source - function目录下的 function_member.php文件,注:discuz!X1.0需要修改: function_login.php
搜索并替换其中的2处900为30,一处901为31即可!如下部分为修改后!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function logincheck() { $return = 0 $login = DB::fetch_first('SELECT count, lastupdate FROM '.DB::table('common_failedlogin').' WHERE ip='$_G[clientip]'') $return = (!$login || (TIMESTAMP - $login['lastupdate'] > 30)) ? 4 : max(0, 5 - $login['count']) if(!$login) { DB::query('REPLACE INTO '.DB::table('common_failedlogin').' (ip, count, lastupdate) VALUES ('$_G[clientip]', '1', '$_G[timestamp]')') } elseif(TIMESTAMP - $login['lastupdate'] > 30) { DB::query('DELETE FROM '.DB::table('common_failedlogin').' WHERE lastupdate<$_G[timestamp]-31', 'UNBUFFERED') return $return
|
依次打开 source - language目录下的 lang_message.php文件,修改为:
‘login_strike’ => ‘密码错误次数过多,请 30 秒后重新登录’!
如果已经被锁定,可以用phpmyadmin删除数据表’pre_common_failedlogin’中的参数,然后重新登录即可!