主流网站在设计上的一些特点:
一、网站以用户邮件和手机号码的方式来确定用户的唯一性,防止用户过度注册。
二、网站为了保护网站数据,没有删除用户的功能(比如用户发表的文章,肯定不能因为用户的删除而删除,不然数据肯定会出现一些问题)。
三、网站允许用户使用电话号码或者邮箱作为用户名,允许通过用户名、手机号码和邮箱登录。
上面的这些特点会产生这些问题,
一、不允许删除用户,然后用户在注册时使用了手机号码进行注册。但是这个用户,后面就没有继续使用这个手机号码了。手机号码在一段时间后,又被另一个用户使用了,这个用户使用手机号码注册时,就提醒手机号码已经被绑定了。除非第一个用户主动解绑手机号码,不然这个新用户就不能使用这个号码进行注册了(在淘宝网上,我就发生了这样的事情)。
二、用户在注册时使用自己的手机号码作为用户名,然后用户更换绑定手机号码并且更换号码。网站在设计登录验证时,一般在sql语句中使用or来检索。或者在执行sql检索前,通过正则表达式判断用户输入的用户名是什么形式的,手机号码?邮箱?普通字符串?发现没,在上面的情况下,都会出现相应的问题。比如用户使用旧手机号码作为用户名,那么就不能登录了。
解决以上问题的一些方法
一、类似银行,让用户发送指定字符“QXYW”到指定号码,取消该号码的原有绑定。或者发送验证码到用户手机上,解绑手机号码,把原先的用户手机号码冻结,并发送通知到先前用户,告诉新的登录方式。
二、在用户登录时,不允许用户手机号码作为用户名,然而有些网站为了简化注册过程,只要求用户输入手机号码和密码就能注册。那么就要在用户注册后,用户名的字段前添加一些字符。比如eg_131400054008
还有就是要提示,网站可以不做删除用户的功能,但是一定要做解除手机号码,单方面解绑的功能。还有就是杜绝用户使用手机号码作为用户名。