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

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

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

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

这个是广告编辑地方

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

$idstring = random(6);

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

$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');
}

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

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

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

在上面加入

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

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

效果图如下:

首次找回密码提示:

15分钟内找回密码提示:

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

本文固定链接: http://www.lajiz.cn/2840.html | 垃圾站

该文章由 sdujane 于2020年11月06日发表在 Discuz教程 分类下, 访客可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客!
原创文章,转载请注明: Discuz! X3.2 如何限制邮件找回密码邮件的发送频率 | 垃圾站
关键字: ,

Discuz! X3.2 如何限制邮件找回密码邮件的发送频率:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter