【bug】短信验证码功能bug,新注册短信用户任意填写验证码都能通过注册的严重bug
之前有处理验证bug是针对的邮箱注册,目前发现短信注册存在bug,已经手机注册的用户短信登录无bug,新手机用户注册有bug。
修改内容:
修改文件/songshu-video-back/application/api/controller/User.php
将此段代码 放在
此段代码红色位置部分
最终效果:
}
$token = pass($username . time() . getRandStr()) . $username;
Db("user")->where(['id' => $user['id']])->update(["token" => $token]);
session("user", $user);
unset($user['password']);
return success("登录成功", $user);
break;
case "phone"://手机验证码登录
$phone = input("phone/i");//手机号
$user = Db("user")->where(['phone' => $phone])->find();
$code = input("code/i");
//判断短信验证码是否正确
if (!Sms::verifySms($phone, $code)) {
u_log("手机用户" . $phone . "登录失败", 'error');
return error("验证码错误");
}
if (!$user) {
$have_invite_code = input('have_invite_code/i');
$parent = NULL;
if ($have_invite_code == 0) {
return error("need_invite");
} else {
$invite_code = input("invite_code/i");
if (strlen($invite_code) > 0) {
$parent = Db('user')->where('invit_code', $invite_code)->where('disable', 0)->find();
if (!$parent) {
return error('邀请码不正确');
}
}
}