Discuz!X1.5优化“密码错误次数过多,请 15 分钟后从新登录”[转]

 你们在玩论坛的时候,特别是长时间未登陆的论坛,可能在输入错误密码达到必定次数后提示:“密码错误次数过多,请 15 分钟后从新登录”,这下可头大了,等15分后,心都凉了,因此这个用户体验并很差!php

在discuz!X1.5中,能够作以下修改来改善这个用户体验,这里尝试修改成30秒!ide

discuz!X1.5:依次打开 source - function目录下的  function_member.php文件,注:discuz!X1.0须要修改:  function_login.phpfetch

搜索并替换其中的2处900为30,一处901为31便可!以下红色部分为修改后!spa

 

引用内容
function logincheck() { 
global $_G; 
$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("REPLACE INTO ".DB::table('common_failedlogin')." (ip, count, lastupdate) VALUES ('$_G[clientip]', '1', '$_G[timestamp]')"); 
DB::query("DELETE FROM ".DB::table('common_failedlogin')." WHERE lastupdate<$_G[timestamp]- 31", 'UNBUFFERED'); 

return $return; 
}

 

而后就是修改下前台提示:ip

依次打开 source - language目录下的  lang_message.php文件,修改成 'login_strike' => '密码错误次数过多,请 30 秒后从新登陆'!it

若是已经被锁定,能够用phpmyadmin删除数据表'pre_common_failedlogin'中的参数,而后从新登陆便可!io

在内网架设论坛的你必定知道这个修改是多么的人性!table

相关文章
相关标签/搜索