找回密码的时候,输入的用户名和邮箱不匹配时, 输出了错误提示, 但程序没能终止后续语句,依旧发送邮件,继续执行了邮件发送函数。
修改方法:当用户名和邮箱不匹配时加个exit();结束程序

5.7版本:/member/inc/inc_pwd_functions.php中找到下面代码

 
if(!is_array($row)) return ShowMsg(“对不起,用户ID输入错误!”,”-1″);
else return $row;

 
修改为:

if(!is_array($row)){
        ShowMsg(“对不起,用户ID或者邮箱输入错误!”,”-1″);
    }   else {
      return $row;
    }
     exit();

 

最终代码:

function member($mail, $userid)
{
    global $db;
    $sql = “SELECT mid,email,safequestion FROM dede_member WHERE email=’$mail’ AND userid = ‘$userid'”;
    $row = $db->GetOne($sql);
    if(!is_array($row)){
        ShowMsg(“对不起,用户ID或者邮箱输入错误!”,”-1″);
    }   else {
      return $row;
    }
     exit();
}