演示链接:查看演示

DEDECMSdedecms会员找回密码 用户名邮箱错误但任然发送邮件

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

}
 

THE END
喜欢就支持一下吧
点赞0 分享