找回密码的时候,输入的用户名和邮箱不匹配时, 输出了错误提示, 但程序没能终止后续语句,依旧发送邮件,继续执行了邮件发送函数。
修改方法:当用户名和邮箱不匹配时加个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();
http://www.conglin.cc/gp_460.html
最终代码:
function member($mail, $userid)
{
global $db;
s
q
l
=
"
S
E
L
E
C
T
m
i
d
,
e
m
a
i
l
,
s
a
f
e
q
u
e
s
t
i
o
n
F
R
O
M
d
e
d
e
m
e
m
b
e
r
W
H
E
R
E
e
m
a
i
l
=
′
sql = "SELECT mid,email,safequestion FROM dede_member WHERE email='
sql="SELECTmid,email,safequestionFROMdedememberWHEREemail=′mail’ AND userid = ‘$userid’";
$row =
d
b
−
>
G
e
t
O
n
e
(
db->GetOne(
db−>GetOne(sql);
if(!is_array($row)){
ShowMsg(“对不起,用户ID或者邮箱输入错误!”,"-1");
} else {
return $row;
}
exit();
}