默认在找回密码时没有对发送频率进行验证,导致可能会被恶意用户频繁发送,最终发送邮箱可能被封禁。下面对源程序进行修改
打开source/module/member/member_lostpassword.php
搜索
$idstring = random(6); 【大概在58行】
在上面加入
$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-43200){
showmessage('getpasswd_has_send');
}
搜索source/language/lang_message.php
搜索
'getpasswd_send_succeed' => '取回密码的方法已通过 Email 发送到您的信箱中,<br />请在 3 天之内修改您的密码',
在【497行】上面加入
'getpasswd_has_send' => '取回密码的方法已通过 Email 发送到您的信箱中,一天限制找回一次密码。如果您没有收到,请稍等12小时后再试',
'getpasswd_has_send' => '您已经发送过取回密码邮件了,,一天限制找回一次密码。如果您没有收到,请稍等12小时后再试',
当然,这里的中文你可以自行修改
————————————————

发表评论