sourcefunction function_login.php $return = (!$login || (TIMESTAMP - $login['lastupdate'] > 900)) ? 4 : max(0, 5 - $login['count']); 900秒=15分钟 自己修改 sourcelanguage 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即可!如下部分为修改后!
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'中的参数,然后重新登录即可!