有的网站两个登录框,第一个可以填写账户名 /邮箱 /手机号,第二个填写密码
那如果有一个账户的手机号跟另一个账户的名称一样,登录得怎么处理,注册的时候直接限制用户名长度么
1
zhuzhibin 2020 年 11 月 30 日 via iPhone
很多种做法吧 通常用户名应该是数字字母符合什么的组合
|
2
1if5ty3 2020 年 11 月 30 日 via iPhone
限制用户名不能用纯数字呗
|
3
thedrwu 2020 年 11 月 30 日
楼主这头像
|
4
xuanbg 2020 年 11 月 30 日
注册的时候判断数据库里面有没有用户名 /手机号 /邮箱等等任何可以用来登录的字段是否存在。
|
5
baobao1270 2020 年 11 月 30 日 这个问题是存在的……我百度的用户名就是一个已经销卡的手机号,每次登录百度都会被认为是手机号,提示手机号不存在。最后这能申诉+绑定邮箱,用邮箱登录。
注册的时候可以不允许使用 11 位数字注册。 @xuanbg #4 的方法,没有考虑到用户更换手机号的情况。 |
6
zmQAQ 2020 年 11 月 30 日
注册时候查询验证数据库是否有相同字段,登陆的时候直接查询你的账户就 OK 了
|
8
cmdOptionKana 2020 年 11 月 30 日 via Android
这个设计有根本性问题,其实如果允许邮箱和手机号在同一栏自由填写,就不应该允许账户名在同一栏自由填写。
先让填邮箱或手机,自动生成一个随机用户名,后续允许用户改名就可以了,注册过程照样简洁,用户名也照样可以自定义。 |
9
shaozelin030405 2020 年 11 月 30 日
禁止拿手机号做用户名,解决
|
10
xuanbg 2020 年 11 月 30 日
@baobao1270 你悄悄更换手机号直接登录(登录注册合一的情况),而不是登录以前的号进行更换手机号操作。这个问题无解的呀。
|
11
yaphets666 2020 年 11 月 30 日
我觉得不管是拿什么作为账户名 账户名在不同种类的间都应该是唯一的
|
12
cmdOptionKana 2020 年 11 月 30 日 via Android
注册时先给随机用户名,修改用户名时不允许是纯数字或有 @ ,后续登录的时候就不可能重复
|
13
no1xsyzy 2020 年 11 月 30 日
@xuanbg 想象一下,假定存在一个手机号 X{11}
首先,1. 有人注册了账号 Y ; 2. 有人注册了账号 X{11}; 3. Y 绑定了手机号 X{11} 这个过程中,只有 3. 的位置能够判断,但你要不允许 Y 绑定?还是 Y 绑定完成后也不允许手机号? 最核心的方案还是除了通用框以外,可以明确指定我输入的是(手机号 / 邮箱 / 账号) 就算采用比较隐蔽的比如 tel::X{11} mail::[email protected] account::X{11} 的区分也行。 |
14
lixiaolin 2020 年 11 月 30 日
限制用户名不能跟手机号格式一样吧
|
15
takemeaway 2020 年 11 月 30 日
@no1xsyzy 一般是手机号优先,如果同时存在手机号和用户名一样但是账号不同的情况,账号那个是登录不上的,需要用邮箱登录,然后绑定其他手机号。
所以存在 5L 的情况。 |
16
nnnToTnnn 2020 年 11 月 30 日
@baobao1270
@takemeaway 注销的逻辑难道不应该是这样的吗? 请输入你要注销的用户 用户名: xxxxxx 密码: xxxxxxx 请输入手机验证码 or 邮箱验证码 通过用户名 + 密码 可以拿到用户 id 在通过用户 id 来注销用户 |
19
ggbdpq 2020 年 11 月 30 日
"一个账户的手机号跟另一个账户的名称一样"你让别人登录注册的时候就不应该存在这个问题,用户名不都是唯一的。吗?
|
21
iptables 2020 年 11 月 30 日
禁止纯数字用户名(防止和手机号冲突),禁止含有 @ 的用户名(防止和邮箱地址冲突)
|
22
iptables 2020 年 11 月 30 日
或者不让用户指定用户名,而是分配一个唯一的 ID
|