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

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

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

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    之前很少注意 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   ·   我们的愿景   ·   实用小工具   ·   2216 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com