【bug】短信验证码功能bug,新注册短信用户任意填写验证码都能经过注册的严重bugphp
以前有处理验证bug是针对的邮箱注册,目前发现短信注册存在bug,已经手机注册的用户短信登陆无bug,新手机用户注册有bug。web
修改内容:
修改文件/songshu-video-back/application/api/controller/User.phpapi
将此段代码 放在
此段代码红色位置部分session
最终效果:app
} $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('邀请码不正确'); } } }