【不靠谱程序员】登录页,用户输了短信验证码却提示:用户不存在

发布时间 2023-11-24 11:06:05作者: buguge

用户输入手机号获取验证码时,是先校验手机号是否存在,还是先发验证码?靠谱的程序员一定有答案。

用户在我们小程序端用短验(手机短信验证码)的方式登录。登录的逻辑实现,我用下面的时序图表示给你看。

  

 

领导review后,说在页面请求后端API获取手机验证码的时候,应该先校验手机号在系统是否存在,存在才给手机号发送验证码短信,不存在则直接给出友好提示,中止登录。

 

我按我上面流程图这样子实现,在校验用户输入的短信验证码通过后再判断用户是否存在,不也可以吗?有啥问题?

 

 

你可能会认为“这领导嘛也不懂,就知道瞎BB”。不过呢,如果沉下心思琢磨一下的话,也并非如此。——将“校验用户是否存在”进行前置在获取登陆验证码这个环节,有什么好处呢?

 

当然是有的。

 

首先,在用户试图获取登录验证码时,我们系统发现这个手机号在我们系统不存在,那证明不是我们系统的用户,这时,直接给出友好提示。这对用户来说是好事,很可能用户发现是自己输入了错误的手机号。否则,你在用户输入了收到的手机验证码后,提示用户不存在,对于缺乏耐心的用户来说,他们也许会骂N啊。

 

再者,从技术层面考虑,这也拦住了非法的请求,不失是一个很好的技术手段。试想,你的程序收到获取验证码的请求,就给请求的手机号发送验证码,那这样的接口,显然是个肉鸡啊,这就给好奇人士或不法人士带来可乘之机(损人不利己?人家就为了爽一把)。

 

 

以上来自“靠谱的程序员”之系列:不靠谱程序员。旨在通过日常开发中一些中的反例,来希望在大家日常开发中给到一些启示。感谢阅读!

 

 

 

本文设计图物料素材:https://www.processon.com/view/link/611e4236e0b34d3511f7d9c2

本文摘自公众号“靠谱的程序员”,欢迎关注关流,批评指正:https://mp.weixin.qq.com/s/G9GQwuh7VXZd-P_iNWszlg