V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexfarm
V2EX  ›  程序员

上海移动 app,可以选择通过本机号码直接登录的功能,想知道 app 是如何获取到手机号码的?

  •  
  •   alexfarm · 2018-03-19 14:18:42 +08:00 · 6642 次点击
    这是一个创建于 2224 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天无意中发现了 ios 的上海移动 app 有个功能是通过本机号码登陆的功能,不需要任何验证。 不是做安卓和 ios 开发,但是感觉苹果的限制应该很多,没法准确获取到 sim 卡上的手机号码信息吧,想知道这是怎么做到的

    19 条回复    2018-03-20 08:58:46 +08:00
    yuhanle
        1
    yuhanle  
       2018-03-19 14:25:27 +08:00   ❤️ 1
    jyf
        2
    jyf  
       2018-03-19 14:34:13 +08:00
    号码是拿不到 但是 imei 这种东西是可以拿到的 然后 sim 卡跟基站通讯会把卡里的密钥跟 imei 这类标志注册到那 那边会知道你这个 imei 是哪个号码

    不过这里也有个问题 假如你禁止了获取 imei 不知道他可还能? 我想 如果禁止了 imei 又是用 wifi 上网 理论上应该就没办法了 不知道可还有其他思路
    XinLake
        3
    XinLake  
       2018-03-19 14:40:07 +08:00 via Android
    有的 Sim 卡存有号码,有的没有存。和操作系统没关系,系统提供了读取号码的接口,但是未必所有手机都能读取到号码,这个和通讯运营商有关。
    vjnjc
        4
    vjnjc  
       2018-03-19 14:41:51 +08:00
    @yuhanle 厉害了,这个都知道。不过他里面没说原理啊,是要手机用流量访问才能验证手机号的吧?
    ThirdFlame
        5
    ThirdFlame  
       2018-03-19 14:43:02 +08:00
    仅限在 4/3/2G 下可能,流量结果运营商网络时,对一些特定域名的网站会增加一个特定的 http 头部字段,里面携带有一些信息。
    liprais
        6
    liprais  
       2018-03-19 14:44:29 +08:00
    运营商有太多方法拿到你的号码了
    XinLake
        7
    XinLake  
       2018-03-19 14:47:37 +08:00 via Android
    @XinLake 眼懵没看清,运营商 app 他们估计有自己的方法,或许通过运营商网络。
    TestSmirk
        8
    TestSmirk  
       2018-03-19 15:10:56 +08:00
    a: 系统提供 api
    b: 运营商网络获取
    c: 发短信.然后拦截短信.
    lipeng1943
        9
    lipeng1943  
       2018-03-19 15:20:41 +08:00
    之前了解过极验的网关验证:
    将用户输入的手机号信息( hash )传递给运营商,运营商来判断该手机号是否与数据网络发送方的手机号一致,一致则直接通过验证,不一致则发送短信验证。
    - H5 页面必须使用 3G/4G 数据流量才可使用网关验证
    - APP 内只要没有关闭 3G/4G 网络,即使在 WIFI 状态下也可直接进行网关验证
    zoujun3281
        10
    zoujun3281  
       2018-03-19 15:28:09 +08:00
    运营商不知道你号码怎么给你扣费的
    alexfarm
        11
    alexfarm  
    OP
       2018-03-19 15:59:05 +08:00
    @yuhanle 厉害了老哥
    alexfarm
        12
    alexfarm  
    OP
       2018-03-19 15:59:35 +08:00
    @zoujun3281 扣款应该和 app 中获取手机号码逻辑不一样吧?
    alexfarm
        13
    alexfarm  
    OP
       2018-03-19 16:00:19 +08:00
    @jyf 这个我想过,但是不大对,如果换了个手机还用这张卡,那么这个映射逻辑就不生效了吧
    luojianxhlxt
        14
    luojianxhlxt  
       2018-03-19 16:01:00 +08:00 via iPhone
    移动的飞信也这样…
    必须本机号码一致
    tempdban
        15
    tempdban  
       2018-03-19 16:04:02 +08:00
    我有点蒙。。。你用的人家的网络,人家有一百中方式知道你手机号啊
    jyf
        16
    jyf  
       2018-03-19 16:36:49 +08:00
    @alexfarm 那就是用 imsi 这个是跟 sim 卡绑定的
    dingtian
        17
    dingtian  
       2018-03-19 21:05:07 +08:00
    你必须要打开 4g 网络才行。。。中国电信也是可以的。都用到 4g 了,运营商还会不知道你是谁???你是不是在逗我
    Shura
        18
    Shura  
       2018-03-19 22:04:15 +08:00
    网关了解一下
    zj299792458
        19
    zj299792458  
       2018-03-20 08:58:46 +08:00 via iPhone
    @jyf #2 iOS imei 怎么拿的到?请教。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2924 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:43 · PVG 15:43 · LAX 00:43 · JFK 03:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.