求助:网站登录模块,如何处理美国/加拿大用户和国内手机号重合的问题? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ViaSil
V2EX    程序员

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

  •  
  •   ViaSil 2019-01-03 19:03:22 +08:00 3169 次点击
    这是一个创建于 2476 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    先谢谢啦!!!

    第 1 条附言    2019-01-07 11:47:06 +08:00
    特别感谢各位热心大佬的建议,后来跟开发小哥聊了在 V2 上各位的想法,综合我们网站的情况、用户登录习惯,以及其它网站参考等,最后还是决定从前台单独给国外用户一个登录的口子,这样开发逻辑也不复杂,用户登录逻辑也不复杂,还能包容我们网站好几个登录样式,感谢感谢!!(=ω)
    19 条回复    2019-01-07 11:42:07 +08:00
    lihongjie0209
        1
    lihongjie0209  
       2019-01-03 19:11:10 +08:00
    页面上可以有切换区域按钮啊, 点击之后你就不知道现在的区号了吗
    janxin
        2
    janxin  
       2019-01-03 19:16:04 +08:00
    +1
    +86

    Canda
    US
    中国

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

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

    你们存的国内手机号的表可以加一个字段,取出的时候还可以再加个判断是不是“+86 ”开头的(如果同时存在仅手机号与+86 连着手机号的情况)
    dumbunny
        8
    dumbunny  
       2019-01-03 21:30:42 +08:00 via Android
    楼上正解
    CodeWind
        9
    CodeWind  
       2019-01-03 21:35:56 +08:00 via Android
    没做过类似,不过我有一个想法,可以判断用户登录地址,判断国内的则自动选择为+86,其他的国家为对应的,不知道能不能实现
    mosliu
        10
    mosliu  
       2019-01-04 09:25:29 +08:00
    通过 IP 判断地区 自动帮忙选择+1 不就好了 默认+86
    lixikei
        11
    lixikei  
       2019-01-04 10:20:05 +08:00
    @CodeWind @mosliu +86 的用户跑去了 Canada、US 登陆呢?
    kwklover
        12
    kwklover  
       2019-01-04 11:01:19 +08:00
    通过数据分析重复率,目测重复率应该不高,没有必要为了解决小部分用户的问题,导致大多数用户改变习惯和增加麻烦,解决方案:
    1,保持现状,大部分用户都无需改变习惯;
    2,登陆时,如判断有重复,要求用户选择注册地区,然后进一步判断账号密码是否匹配;
    tosmq009
        13
    tosmq009  
       2019-01-04 11:04:39 +08:00
    看看各大 BATJ,等等的注册,或者看看 阿里巴巴海外站,他们的前台设计,没啥好纠结的,他们都有现成的解决方案。
    CodeWind
        14
    CodeWind  
       2019-01-04 11:13:23 +08:00 via Android
    @lixikei 如果不对,可以手动选择
    ViaSil
        15
    ViaSil  
    OP
       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
        16
    ViaSil  
    OP
       2019-01-04 11:27:07 +08:00
    @kwklover 谢谢^^ 1.这个确实是极少数的情况,感谢提醒! 2.登录时排重,确实没想过,这个我跟开发小哥沟通一下看看,再次感谢!!非常实用的建议^^
    mosliu
        17
    mosliu  
       2019-01-04 13:10:55 +08:00
    @lixikei
    1.出国的自己选一下呗。
    2.前端可以留 cookie 的啊
    @ViaSil
    不愿改的话,后端多匹配一次就是啦。先按无区号匹配,再按有区号试错一下。 登录操作除非被打,这里多一次判断,资源耗费不了多少吧。
    C2G
        18
    C2G  
       2019-01-04 13:24:35 +08:00 via Android
    @ViaSil 国内不输“+”国外输入“+”,根据是否有加号判断是否为国内
    输入框可以标注提示,非大陆用户需要加国家区号,大陆用户不用
    ViaSil
        19
    ViaSil  
    OP
       2019-01-07 11:42:07 +08:00
    @mosliu @C2G 谢谢谢谢!暂时还是选择从前台单开一个国外用户登录的入口,原有用户的登录逻辑不变,特别感谢建议( ` )
    关于     帮助文档/a>     自助推广系统     博客     API     FAQ     Solana     5580 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 01:24 PVG 09:24 LAX 18:24 JFK 21:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86