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

发现 ios 的 app 获取自己手机号

  •  
  •   caola · 2021-01-06 14:42:05 +08:00 · 2530 次点击
    这是一个创建于 1177 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前很少注意 app 获取自己的手机号的问题,应该是用运营商的接口的。
    今天打开 哔哩哔哩 APP 在登录时,他自动获取到了我当前的手机号,
    我就很奇怪,我是一直挂着科学上网的客户端,并且是 WIFI 的情况下,
    它是怎么获取到的?

    后来我多次测试,因为科学上网的是设置 绕过国内的(国内直连),但没有设置第三方的 DNS,
    当我在科学上网的客户端上添加设置为第三方 DNS 时, 哔哩哔哩 才无法获取当前手机号码,
    猜测是默认的 DNS 问题, 可为什么是在 WIFI 的情况下,不走 WIFI 网络的 DNS ?

    虽然不清楚具体情况,但为了隐私在 IOS14 直接启用了 DoH ( github.com/paulmillr/encrypted-dns

    第 1 条附言  ·  2021-01-07 14:52:15 +08:00
    应该是强制走流量通道的 DNS,修改为 DoH 方式的 DNS 之后,就没有发现这类的 APP 能获取到手机号了,
    建议最好是长期开启全局的 VP 恩(虚拟专用网络),
    手机上全局到国外慢的话,可以用国内服务器(配置 PAC )中转一下。
    33 条回复    2021-02-07 16:02:01 +08:00
    qq316107934
        1
    qq316107934  
       2021-01-06 14:44:09 +08:00
    我对这个也有疑问,在 iOS+WI-FI 的情况下是怎么通过请求调用运营商接口确定手机号的?
    ttys001
        2
    ttys001  
       2021-01-06 14:50:37 +08:00
    遇到过!登录微博的时候自动输入我的手机号 13*********,但我的这个手机号其实没有注册过微博。
    drrrtt
        3
    drrrtt  
       2021-01-06 14:51:06 +08:00
    1.实名认证的时候,有没有用手机号?
    2.运营商根据实名认证,可能有绑定 idfa+手机号,APP 为了实名认证可能可以调这个接口反查到手机号?
    chinvo
        4
    chinvo  
       2021-01-06 14:55:16 +08:00 via iPhone   ❤️ 4
    这些都是运营商提供的接口

    原理就是只要你没关闭移动网络,运营商的基站就能把设备信息和手机号对应起来
    wy315700
        5
    wy315700  
       2021-01-06 14:57:14 +08:00
    iOS 打开 Wi-Fi 的情况下,并不会关闭移动网络数据。
    yesicoo
        6
    yesicoo  
       2021-01-06 15:03:13 +08:00
    terence4444
        7
    terence4444  
       2021-01-06 15:04:07 +08:00 via iPhone   ❤️ 1
    @qq316107934 在 Wi-Fi 下把移动网关了就获取不到了。
    yesicoo
        8
    yesicoo  
       2021-01-06 15:04:44 +08:00   ❤️ 1
    基本上 sim 卡拔了 才会获取不到手机号
    icyalala
        9
    icyalala  
       2021-01-06 15:12:34 +08:00   ❤️ 1
    蜂窝数据和 WiFi 都开着的时候,实际上能获取到两个网卡的,
    直接拿 pdp_ip0 来创建 socket 通信就能直接走 WWAN,DNS 也是 SDK 自己 resolve 的。
    qq316107934
        10
    qq316107934  
       2021-01-06 15:17:43 +08:00
    @icyalala #9 所以 APP 理论上在 WI-FI 下也可以强制走移动流量?这就很恐怖了
    Leonard
        11
    Leonard  
       2021-01-06 15:26:58 +08:00
    运营商的接口吧
    M1hahahaha
        12
    M1hahahaha  
       2021-01-06 15:40:10 +08:00
    SIM 卡中,有 SIM 卡序列号和手机号及其他必备的信息,Android 中有 API 可以直接读取 sim 卡中的信息。
    IOS 开发中,估计官方也有该 API,所以不为怪。
    不想让他读取,拔卡即可。
    zlmdaybreak
        13
    zlmdaybreak  
       2021-01-06 15:41:55 +08:00
    只要蜂窝开启,运营商的 SDK 就可以走蜂窝获取手机号。不过都是加密的-138 **** 3212 这种的。关闭蜂窝就没有了
    littiefish
        14
    littiefish  
       2021-01-06 15:43:42 +08:00 via iPhone
    @qq316107934 我长年飞行模式,插卡只用 wifi,也被获取了。与移动数据无关
    WebKit
        15
    WebKit  
       2021-01-06 15:44:45 +08:00 via Android
    @chinvo 不会哦,我电信的 app,它在使用 WiFi 的情况下都没有办法拿到我的手机号
    SaKuLa
        16
    SaKuLa  
       2021-01-06 16:37:25 +08:00
    iOS 在 Wi-Fi 的情况下可以走蜂窝数据
    waynedream
        17
    waynedream  
       2021-01-06 16:43:52 +08:00
    这是新的快捷登录方式,可百度“闪验”
    waynedream
        18
    waynedream  
       2021-01-06 16:45:56 +08:00
    strongcoder
        19
    strongcoder  
       2021-01-06 16:56:51 +08:00
    我们去年就做了一键登录得功能 获取手机号对于运营商没有啥难度 SDK 导入一整就行了
    fengjianxinghun
        20
    fengjianxinghun  
       2021-01-06 16:57:32 +08:00
    怎么对抗这种行为?
    mcluyu
        21
    mcluyu  
       2021-01-06 17:33:25 +08:00
    在你点击那个带***号的号码进行下一步操作前,只有你自己和运营商知道你的号码,
    即便你在使用这个 APP 的时候没有移动网络,但是其他 APP 集成这个 SDK,最终也很容易知道,毕竟人家是运营商啊。。

    运营商知道你的手机号但没有你的同意不提供给第三方,我觉得不算是隐私泄露。
    chinvo
        22
    chinvo  
       2021-01-06 17:54:50 +08:00
    @WebKit #13 可能和梯子有关, 我用 GeoIP 分流的话电信的 SDK 就抓瞎了, 用域名黑名单就能正常获取.
    SingeeKing
        23
    SingeeKing  
       2021-01-06 17:56:58 +08:00
    应用可以强行走移动网络,例如优酷缓存视频时有一个「极速模式」(名字不是这个但是差不多),就是利用同时从 Wi-Fi 和移动数据下载实现的
    acorngyl
        24
    acorngyl  
       2021-01-06 18:16:00 +08:00
    三家运营商都有“能力开放平台”,其中一个主推 api 就是实名验证。具体可以去官网看,有开发手册和报文样例。

    联通的是有接口,可以返回当前手机号明文的;移动没找到返回手机号明文的,只有鉴权接口和用户主动输入后验证的。
    cairnechen
        25
    cairnechen  
       2021-01-06 18:21:19 +08:00
    运营商的统一认证服务,应用只能拿到前三后四,你点同意之后才能拿到完整的
    fatelight
        26
    fatelight  
       2021-01-06 18:51:31 +08:00
    怕什么啊,并不是破罐破摔,就一个手机号而已

    微信连你聊天记录都能分析然后给你发京东广告,其他输入法,语音,ai 音箱,防不胜防。
    superrichman
        27
    superrichman  
       2021-01-06 18:59:57 +08:00 via iPhone
    运营商的接口,防不胜防,不想给它权限就不让用
    dLvsYgJ8fiP8TGYU
        28
    dLvsYgJ8fiP8TGYU  
       2021-01-06 21:11:15 +08:00
    xenme
        30
    xenme  
       2021-01-06 21:27:54 +08:00 via iPhone
    一直没搞清楚原理,开了翻墙工具就没法自动识别了,不知道有没有规则能让识别正常
    18k
        31
    18k  
       2021-01-06 21:35:46 +08:00
    电信一键登陆,大部分 APP 都自动识别了 省事是省事 但是。。。
    daxy223
        32
    daxy223  
       2021-01-06 21:52:06 +08:00 via Android
    这个不应该是常识了吗
    LinusXu
        33
    LinusXu  
       2021-02-07 16:02:01 +08:00
    iOS 自带会通过这个方法快速进行双重验证。
    https://support.apple.com/zh-cn/HT204915
    对应的英文页面也有相同的说法,只能说这*可以*是一个全球通用的做法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2713 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:33 · PVG 23:33 · LAX 08:33 · JFK 11:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.