Discuz 登录时提示“密码错误次数过多,请15分钟后重新登陆”

在使用论坛过程中,有时候会遇到这样的提示“密码错误次数过多,请 15 分钟后重新登陆”,因为忘记密码而登陆次数过多被锁定。当然也不排除有人利用暴力破解工具一直在爆破各种管理员密码,从而导致管理员或用户不能登录。这种情况的原因是,论坛程序为了防止有人恶意尝试用户密码获取别人账号的情况。下面提供两种方法,用于临时解决 Disucz 密码被锁15分钟而不能登录的问题。

1、数据库中删除相关记录
用户每次登录错误的时候,会记录在 pre_common_failedlogin 表里,所以只要自己在删除这个表中的错误记录就行了。可以通过 phpMyAdmin 删除,或者执行 SQL :

1
DELETE FROM pre_common_failedlogin WHERE ip='IP地址';

上边方法是前台密码错过过多,如果是 Ucenter 被锁的话,那么还需要到另外一个表 pre_ucenter_failedlogins 进行删除IP的工作。

1
DELETE FROM pre_ucenter_failedlogins WHERE ip='IP地址';

2、修改程序实现(一般不用这个方法,删除数据库IP即可解决问题)
打开 include 目录下的 misc.func.php,找到

1
$login['count'] < 5

将代码中的5修改一下。因为这是程序的一个安全机制,所以请不要设置的太大。
这是临时解决登录的方法,推荐前者,后者请慎重使用或者不使用。

PS: 网上看到的方法大多是 Discuz N 年前的版本了。。还在用 CBD 前缀的数据库。。。。。。这里 Forece 吐槽一下,然后更新了本文章。希望对大家有所帮助。