垃圾站 Discuz! X3.2 如何限制邮件找回密码邮件的发送频率

Discuz! X3.2 如何限制邮件找回密码邮件的发送频率

垃圾站博客仅在Discuz! X3.2中测试成功,其他版本请自行测试!

Discuz! X3.2默认在会员找回密码时不对邮件发送频率进行限制,这样可能会被恶意用户频繁发送邮件,导致发件账号被封禁。

下面对Discuz! X3.2源码进行修改,以杜绝这种情况:

1、打开source/module/member/member_lostpassword.php,搜索:

[php]
$idstring = random(6);
[/php]

2、在这段代码的上面加入如下代码,保存并覆盖源文件:

[php]
$memberauthstr = C::t('common_member_field_forum'.$table_ext)->fetch($member['uid']);
list($dateline, $operation, $idstring) = explode("\t", $memberauthstr['authstr']);
if($dateline && $operation == 1 && $dateline>TIMESTAMP-900){
showmessage('getpasswd_has_send');
}
[/php]

以上代码中900代表900秒=15分钟,意思是限制间隔15分钟发送一次找回密码邮件。

3、打开source/language/lang_message.php,搜索

[php]'getpasswd_send_succeed' => '取回密码的方法已通过 Email 发送到您的信箱中,<br />请在 3 天之内修改您的密码',[/php]

在上面加入

[php]'getpasswd_has_send' => '取回密码的方法已通过 Email 发送到您的信箱中,如果您没有收到,请稍等15分钟后重试',[/php]

当然,这里的中文提示你可以自行修改(15分钟时长可以修改,不要忘了修改步骤2中的900)。

效果图如下:

首次找回密码提示:

Discuz! X3.2 如何限制邮件找回密码邮件的发送频率插图

15分钟内找回密码提示:

Discuz! X3.2 如何限制邮件找回密码邮件的发送频率插图1

这样就限制恶意用户频繁发送邮件了!

上一篇
下一篇
联系我们

联系我们

返回顶部