求助:网站登录模块,如何处理美国/加拿大用户和国内手机号重合的问题?

2019-01-03 19:03:22 +08:00
 ViaSil

是这样的: 1.美国 /加拿大用户的手机号区号是 1,加上后面 10 位数字,就是 11 位; 2.国内手机号也是 11 位,且我们网站存国内的手机号没有加+86,国内用户手机号登录也不习惯手动加 86 ; 所以国内外手机号可能会重合,导致用户登录失败;

在前台账号输入框增加区号下拉框提示用户选择区号,后台国内数据存号码+86,想过,但是前台这个样式很不常见,大部分网站因为有一个账号输入框里手机号+邮箱合并登录的情况,所以没有前台登录加区号下拉框的样式。我目前也是两种登录方式并行……

想问问 V2 的大佬,有没有遇到过这种问题的(国内外手机号重合),最后是怎么解决的呢?

先谢谢啦!!!

2750 次点击
所在节点    程序员
19 条回复
lihongjie0209
2019-01-03 19:11:10 +08:00
页面上可以有切换区域按钮啊, 点击之后你就不知道现在的区号了吗
janxin
2019-01-03 19:16:04 +08:00
+1
+86

Canda
US
中国

根据系统语言自动默认选择一下地区
dremy
2019-01-03 19:26:36 +08:00
既然都说了手机号可以和邮箱合并登录,那么手机号也可以和手机号合并登录呀(逃
s609926202
2019-01-03 19:31:15 +08:00
Telegram 登陆的时候不是得选择区号吗!可以参考吧
C2G
2019-01-03 19:34:03 +08:00
让用户自己加“+”不就好了么
hxtheone
2019-01-03 20:22:50 +08:00
注册页和登录页带国际区号选择框不就行了
honeycomb
2019-01-03 20:43:12 +08:00
常见的的做法是这样:

默认的输入框强制认为是内地手机号,如果要港澳台或国外手机号,则必须多点一步。

你们存的国内手机号的表可以加一个字段,取出的时候还可以再加个判断是不是“+86 ”开头的(如果同时存在仅手机号与+86 连着手机号的情况)
dumbunny
2019-01-03 21:30:42 +08:00
楼上正解
CodeWind
2019-01-03 21:35:56 +08:00
没做过类似,不过我有一个想法,可以判断用户登录地址,判断国内的则自动选择为+86,其他的国家为对应的,不知道能不能实现
mosliu
2019-01-04 09:25:29 +08:00
通过 IP 判断地区 自动帮忙选择+1 不就好了 默认+86
lixikei
2019-01-04 10:20:05 +08:00
@CodeWind @mosliu +86 的用户跑去了 Canada、US 登陆呢?
kwklover
2019-01-04 11:01:19 +08:00
通过数据分析重复率,目测重复率应该不高,没有必要为了解决小部分用户的问题,导致大多数用户改变习惯和增加麻烦,解决方案:
1,保持现状,大部分用户都无需改变习惯;
2,登陆时,如判断有重复,要求用户选择注册地区,然后进一步判断账号密码是否匹配;
tosmq009
2019-01-04 11:04:39 +08:00
看看各大 BATJ,等等的注册,或者看看 阿里巴巴海外站,他们的前台设计,没啥好纠结的,他们都有现成的解决方案。
CodeWind
2019-01-04 11:13:23 +08:00
@lixikei 如果不对,可以手动选择
ViaSil
2019-01-04 11:20:42 +08:00
@lihongjie0209 谢谢~不过增加一个选择地区的按钮,会增加登录的使用成本,所以还是在想能不能从底层数据去解决;
@janxin 谢谢~不过系统语言使用英语的肯定不止加拿大&美国,这样给国外用户默认区号的不准确率可能会比较大;
@dremy 嗯?
@s609926202 谢谢~ telegram 的 Web 版好像没有手机号登录呢。。
@C2G 谢谢~之前就是这么做的,但是国内用户登录肯定不会手动+86,国外用户必须手动加区号登录,就导致手机号重复了……
@hxtheone 谢谢~嗯,注册还好说,登录的话要是带了区号选择框,就不能在一个框里实现邮箱账号输入了;
@honeycomb 谢谢^^所以常见的方案是把非内地手机号用户摘出来,另放一个入口么;第二条在国内手机号加字段了之后,应该就不会在数据库里发生重复了;
@CodeWind @mosliu 谢谢^^这个也想过,但是我们 Web 的登录入口至少有 5 个……而且又有弹窗又有页面样式都不一样,很难通过用户某个特定的操作去加入 IP 判断……

谢谢各位^^

目前通过各位热心大佬的方案,总结出 2 个可参考的方案:
1.摘出非内地手机号用户,另提供一个登录入口;
2.通过 IP 判断,非内地用户默认展示手机号下拉框样式,内地用户默认展示 [邮箱+手机号] 合并登录样式;

因为我们这是个老 Web 了,登录入口啊流程啊的框架都比较杂,虽然希望尽量能做到一个方案能复用所有登录入口,改动成本不大,用户体验又流畅,但……嗯,会考虑一下具体可行性的,谢谢啦^^
ViaSil
2019-01-04 11:27:07 +08:00
@kwklover 谢谢^^ 1.这个确实是极少数的情况,感谢提醒! 2.登录时排重,确实没想过,这个我跟开发小哥沟通一下看看,再次感谢!!非常实用的建议^^
mosliu
2019-01-04 13:10:55 +08:00
@lixikei
1.出国的自己选一下呗。
2.前端可以留 cookie 的啊
@ViaSil
不愿改的话,后端多匹配一次就是啦。先按无区号匹配,再按有区号试错一下。 登录操作除非被打,这里多一次判断,资源耗费不了多少吧。
C2G
2019-01-04 13:24:35 +08:00
@ViaSil 国内不输“+”国外输入“+”,根据是否有加号判断是否为国内
输入框可以标注提示,非大陆用户需要加国家区号,大陆用户不用
ViaSil
2019-01-07 11:42:07 +08:00
@mosliu @C2G 谢谢谢谢!暂时还是选择从前台单开一个国外用户登录的入口,原有用户的登录逻辑不变,特别感谢建议( ´▽` )ノ

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/523587

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX