首页新闻找找看学习计划

使用用户名/邮箱/手机号+密码登录的问题。

0
悬赏园豆:10 [已解决问题] 解决于 2012-06-05 14:51

现在很多网站可以同时使用 用户名/邮箱/手机号 方式登录。

 

假如:

用户A: 用户名:aaa        手机号:13888888888

用户B: 用户名:13888888888  手机号:139******** 

而恰巧,两个用户的密码也设置的相同,如123456

(几率还真不小,很多用户密码都是123456之类。。。)

  

那么此时某用户使用 13888888888+123456登录。那么问题来了:

此时数据肯定是匹配的,可以通过登录认证,那么当前登录用户算哪一个呢?

码农搞事情的主页 码农搞事情 | 初学一级 | 园豆:20
提问于:2012-05-25 17:24
< >
分享
最佳答案
0

解决这类问题,似乎应该在注册时就应该进行限制吧;若真的已有数据,在登录时,应该检测是否有这种手机重复的情况,有重复就应该强制用账号名登录。。。

收获园豆:8
--宁静以致远-- | 菜鸟二级 |园豆:364 | 2012-05-26 19:15
其他回答(3)
0

解决这个问题的方案就是使用同一个表,把用户名、手机号、邮箱统一为帐户字段。

不过,这样做其实不是很好,另外一个可行的方案就是限制用户名不能以数字开头。。。或者验证用户名内容是否刚好与手机号兼容(还不如限制不以数字开头)。

你可以去那些网站使用手机号注册普通用户名看看。(呵呵,我没去试过,有结果给个消息哦)

收获园豆:2
无之无 | 园豆:5085 (大侠五级) | 2012-05-25 17:39
1

注册时需查重。

webtec | 园豆:204 (菜鸟二级) | 2012-05-25 18:55
0

如果你在查询数据库信息的时候,使用select top 1 * from......where +判断条件 应该获取的是从数据库查找出来的第一个用户,如果是select * from......where +判断条件 可能会出现错误,因为手机号码也可能会重复,以前使用的,现在不用了。登陆判断的时候避免使用重复数据的字段,可以使用用户名+密码,使用Session或者Cookie,尽量保存少量数据。

墨猦 | 园豆:668 (小虾三级) | 2012-05-26 16:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册