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

禁止 App 借助营运商获取手机号码以实现一键登录

  •  1
     
  •   maleclub · 214 天前 · 10238 次点击
    这是一个创建于 214 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看贴 https://www.v2ex.com/t/939831 有感,不想让手机上的几个 app (美团,支付宝,还有银行类)有可能借此获得我的手机号码,特意测试了一下。方法也比较简单。

    • 已 root 的手机通过文件管理工具(我用 x-plore )修改 /system/etc/hosts 文件,插入以下内容,重启手机即可。
    # 中国移动
    0.0.0.0 config.cmpassport.com
    0.0.0.0 www.cmpassport.com
    0.0.0.0 wap.cmpassport.com
    0.0.0.0 onekey1.cmpassport.com
    0.0.0.0 log1.cmpassport.com
    0.0.0.0 smsks1.cmpassport.com
    0.0.0.0 verify.cmpassport.com
    
    # 中国联通
    0.0.0.0 opencloud.wostore.cn
    0.0.0.0 auth.wosms.cn
    0.0.0.0 id.mail.wo.cn
    0.0.0.0 mdn.open.wo.cn
    0.0.0.0 hmrz.wo.cn
    0.0.0.0 nishub1.10010.com
    0.0.0.0 enrichgw.10010.com
    
    # 中国电信
    0.0.0.0 id6.me
    0.0.0.0 open.e.189.cn
    
    • 未 root 手机,借助 Virtual Hosts 这个 app 也可以。
    第 1 条附言  ·  213 天前
    补充下 38 楼提到的,正是我的使用情景。双卡手机,一张移动卡,一张联通卡,差分隐私处理,注册都用的移动号,这个号是 8 元保号套,只用来收短信验证码,快递取件码;另一个联通号才是主力,流量都走这张卡,如果不屏蔽掉一键登录,每次 App 都会通过运营商 SDK 拿到联通的号的前三和后四位,我不愿意暴露这个号,所以这样做是有意义的。

    另外,我手机有时候会插其他同事的卡做一些软件的测试,并不想被获取。
    59 条回复    2023-11-01 09:06:20 +08:00
    huiyifyj
        1
    huiyifyj  
       214 天前
    不错,可以配合 AdGuard Home DNS 使用
    maleclub
        2
    maleclub  
    OP
       214 天前
    host 规则补充多一个营运商

    ```BASH
    # 中国广电
    0.0.0.0 Idk.
    ```
    bitfly
        3
    bitfly  
       214 天前 via Android
    借助 v2rayng 不是也可以吗 即可以上 V2EX 又可以屏蔽牛氓网站
    GeekGao
        4
    GeekGao  
       214 天前   ❤️ 2
    为啥禁止,这是网关取的数据不是从你本机。你不授权是不会取号的。
    baobao1270
        5
    baobao1270  
       214 天前
    没啥用吧,App 走 HTTPDNS 就无法屏蔽了
    hellomynameis
        6
    hellomynameis  
       213 天前   ❤️ 1
    @GeekGao 全民大开盒,而且如果手机里插了 86 卡还尝试用+1 注册,这个一键登录风控系统会很麻烦
    TESTFLIGHT2021
        7
    TESTFLIGHT2021  
       213 天前   ❤️ 1
    没用 你插上卡 他就可以记录 屏蔽 IP 只是让你无法验证
    Rache1
        8
    Rache1  
       213 天前
    小米部分机型可以在设置、应用权限里面禁止 “获取手机号码用于一键登录” 权限
    WebKit
        9
    WebKit  
       213 天前 via Android
    小米可以在设置里直接禁用
    jdkxnktkdkxod
        10
    jdkxnktkdkxod  
       213 天前   ❤️ 2
    建议先去了解一下开发一键登录的开发流程
    kkk123
        11
    kkk123  
       213 天前
    @baobao1270 httpdns 域名也禁止,暂时没什么问题
    a1274598858
        12
    a1274598858  
       213 天前
    还好我的小米自带弹窗询问
    maleclub
        13
    maleclub  
    OP
       213 天前 via Android
    @GeekGao 前提是要先设置应用读取权限,阻止读取手机号跟 IMEI(我用 App Ops)。 @baobao1270 你说 App 走 HTTPDNS 就无法屏蔽了?有什么软件?我测试下,我测试了好几个银行跟应用宝头部的 10 来个常用 app 还没遇到过。
    hellomynameis
        14
    hellomynameis  
       213 天前
    @TESTFLIGHT2021 只能达到 TikTok 的程度精确到识别运营商是哪家,用户不授权不能得到详细手机号
    imnpc
        15
    imnpc  
       213 天前
    哪里发的教程啊 SDK 获取手机号根本不走这些好吗...
    xFrye
        16
    xFrye  
       213 天前
    一键登录 SDK 根本就不需要 read phone state 这种权限好吗。。。
    7v9TEc53
        17
    7v9TEc53  
       213 天前
    关掉 APP 的 4G 访问权限就行了,不过没 wifi 的情况下 app 就没网
    learningman
        18
    learningman  
       213 天前 via Android
    你都知道是借助运营商了,你在本地改有啥用
    xx219
        19
    xx219  
       213 天前
    一键登录用的是运营商的 api ,不需要设备权限
    monkeyzsf
        20
    monkeyzsf  
       213 天前
    @jdkxnktkdkxod #10 确实,这样做只能屏蔽一键登录,本来就拿不到手机号
    jdkxnktkdkxod
        21
    jdkxnktkdkxod  
       213 天前   ❤️ 1
    这种就是典型的书读的不多但想得太多
    1 ,一键登录是运营商提供的接口,不需要本机的任何权限
    2. 使用一键登录的 sdk 如果你本身不点确认登录,你能拿到只有前三位和后四位,根本拿不到完整的手机号
    建议去详细了解一下接入一键登录的流程
    lambdaq
        22
    lambdaq  
       213 天前
    @jdkxnktkdkxod 前三位后四位够做很多事里。
    opengps
        23
    opengps  
       213 天前
    禁止并没有作用啊,因为最终登陆后,还是知道你绑定的手机号,一键登录只是方便了使用的地方
    Robertwhite
        24
    Robertwhite  
       213 天前
    不想让 APP 获取手机号?现在各种 APP 不都是要短信验证的吗?我倒是好奇怎么做到手机号不被 APP 知道,我上次想体验个 AI 生成图片的,国内的各种网站都已经要手机号登录注册了,无赖只能放弃了
    hoythan
        25
    hoythan  
       213 天前
    一键登录功能是运营商提供的 API 啊
    hoythan
        26
    hoythan  
       213 天前
    我觉得与其担心 App 获取你的手机号,不如担心运营商获取到你的手机号,但是运营商获取,不如直接研究如何用国外运营商的电话卡,所以最终建议就是不要用电话卡。
    iseki
        27
    iseki  
       213 天前 via Android   ❤️ 1
    你们在干啥啊,贴主不是写了 host 把运营商获取手机号的网关给屏蔽了么,和手机权限有什么关系?
    gadfly3173
        28
    gadfly3173  
       213 天前 via Android
    @iseki 13 楼里 op 说要禁止电话权限
    vivisidea
        29
    vivisidea  
       213 天前
    不想让手机上的几个 app (美团,支付宝,还有银行类)有可能借此获得我的手机号码

    ===
    我是没太懂,意思是这几个 app ,都不是你自己手机号注册的?
    Maboroshii
        30
    Maboroshii  
       213 天前 via Android
    友盟的 sdk 可以通过运营商获取完整手机号喔
    wangmou
        31
    wangmou  
       213 天前
    @iseki 楼主自己说的原话要权限,别人给他科普他还不信
    devopsdogdog
        32
    devopsdogdog  
       213 天前
    稍微试过就知道,只有有移动网络就能拿到你的手机号。
    sunshower
        33
    sunshower  
       213 天前
    屏蔽有什么用,里面用的地址不还是有手机号
    GeekGao
        34
    GeekGao  
       213 天前
    @hellomynameis 果手机里插了 86 卡还尝试用+1 注册 ? 你不国际开漫游就取不到你美国的号码 😊这是网关取号,与 3G Wap 门户时代的认证同一个道理。
    yeh
        35
    yeh  
       213 天前
    1 年多前写了个 surge 插件,直接 reject 这几个域名。

    不想去理解什么登陆步骤,什么开发流程,什么 api 文档。 单纯就是不想看见那个弹窗,连 google 联合登陆的弹窗都屏蔽了。谁出来登录提示的弹窗,就屏蔽谁。
    GeekGao
        36
    GeekGao  
       213 天前   ❤️ 1
    @maleclub 不需要 IMEI 的,你的 SIM 卡联入运营商网络的后信令通信过程运营商已经获取到了
    shijingshijing
        37
    shijingshijing  
       213 天前
    @vivisidea 假如我是双卡手机,一张移动卡,一张联通卡,差分隐私处理,注册都用的移动号,这个号是 8 元保号套,只用来收短信验证码,快递取件码;另一个联通号才是主力,流量都走这张卡,如果不屏蔽掉一键登录,每次 App 都会通过运营商 SDK 拿到联通的号的前三和后四位,我不愿意暴露这个号,所以这样做是有意义的。
    maleclub
        38
    maleclub  
    OP
       213 天前 via Android
    @shijingshijing 看来你是最明白事理的人,我就是双卡要避开这个问题,赞👍。
    Eiden
        39
    Eiden  
       213 天前   ❤️ 2
    掩耳盗铃有一手
    easylee
        40
    easylee  
       213 天前
    @maleclub #38 建议将 @shijingshijing #37 提到的场景 append ,避免帖子内更多无意义的回复。
    GeekGao
        41
    GeekGao  
       213 天前
    @shijingshijing “每次 App 都会通过运营商 SDK 拿到联通的号的前三和后四位” 这描述是不准确的。
    因为不论是移动还是电信,SDK 都是开放平台提供的,能力是官方(即运营商)封装好的,在未授权时应用接入方面(即 APP 端)是拿不到的。虽然你可以见到,但是并不意味着 APP 可以拿到。

    当然如果杠一下说:程序截屏啊、0day 啊啥的,当我没说 😓
    maleclub
        42
    maleclub  
    OP
       213 天前 via Android
    @easylee 好的,建议不错。
    GeekGao
        43
    GeekGao  
       213 天前
    @maleclub 较个真: 双卡你测过吗,通常一键登录 sdk 只会切 4G 网后与网关通信,双卡双待手机只取当前流量卡号啊,难不成你两张卡都能同时识别?
    D6IIx
        44
    D6IIx  
       213 天前
    @GeekGao app 不让你用密码登陆呢?不授权输入密码显示错误,签了授权之后就正常了,协议正文的修改和解释权都在对方手里
    shijingshijing
        45
    shijingshijing  
       213 天前
    @D6IIx 现在的 App 还不至于这么疯狂,毕竟要考虑到 WIFI 条件下登录的情况。强迫要求使用流量登录,我还只看到部分银行的 App 在首次登录时会有这种要求。
    gadfly3173
        46
    gadfly3173  
       213 天前 via Android
    @D6IIx 你这个场景题主的办法也搞不定啊?甚至可以说没有办法能解决,毕竟登录接口是人家的
    gadfly3173
        47
    gadfly3173  
       213 天前 via Android
    同 39 楼的说法,此举就是掩耳盗铃,运营商的 sdk 完全可以换个域名/使用自己的加密 dns ,只要你入网了运营商就知道你的手机号,要不要提供给 app 完全由运营商决定,毕竟获取手机号的回调是在服务端的,app 端只是给你个界面获取你的授权。
    shijingshijing
        48
    shijingshijing  
       213 天前
    @GeekGao 你理解错了,我告诉你这个流程是怎么操作的吧。
    以淘宝 App 和联通 SDK 为例,淘宝 App 在上架之前就已经集成了联通 SDK ,用户首次登录的时候,如果使用手机 4G/5G 数据网络登录,不做任何防护措施,淘宝 App 能通过联通 SDK 拿到 135****8888 这种形式的不完整本机号码的,不需要用户授权和同意(或者说这部分授权和同意是你办联通卡入网的时候已经完成了),这个不完整的号码已经可以用来做用户画像了。当你不选择使用用户名密码或者手机号验证码登录,继续一键登录的时候,淘宝 App 会提示你需要你授权,这个时候有三个确认项,一个是联通的一键登录授权;另外两个是淘宝的登录和隐私授权。如果你确认了,登录成功,淘宝 App 此时能获取你当前使用的流量卡的完整号码,比如 13515158888 。

    如果是双卡手机,你注册淘宝的时候又不是用的 13515158888 这个号,而是手机上另一个没开流量的移动号码,意味着淘宝能获取到你的两个号码。
    billlee
        49
    billlee  
       213 天前 via Android
    @GeekGao 不需要什么截图啊 0day 啊, in app webview 受 app 控制,直接读取 DOM, 或者帮你点确认都是可以的
    smlcgx
        50
    smlcgx  
       213 天前 via iPhone
    运营商侧的,联通可以打电话要求关闭
    hellomynameis
        51
    hellomynameis  
       213 天前
    @GeekGao GV, 不至于同时插 86 和 1 的实体卡
    GeekGao
        52
    GeekGao  
       213 天前
    @shijingshijing 你的意思是: “淘宝 App 能通过联通 SDK 拿到 135****8888 这种形式的不完整本机号码的” 这个过程,APP 能从联通 SDK 读到这串数据是吗? 确定这不是 SDK UI 显示的数据吗?
    GeekGao
        53
    GeekGao  
       213 天前
    @billlee 老师说, 你研究过移动一键登录 SDK 吗?研究一下看看你 APP 有没有这种能力吧
    codeMore
        54
    codeMore  
       212 天前   ❤️ 1
    接过网易易盾一键登录 SDK 的服务端,我们拿不到类似 182****7897 这类信息,而且客户端给服务端的也是一个 token ,得去访问渠道服务端 api 才能完整拿到手机号。而这个 token 得用户同意才能拿到。所以本质上三方应用在用户未授权的时候是拿不到手机号信息的。
    Admin8012
        55
    Admin8012  
       210 天前 via Android
    物理隔绝是最好的
    deep123
        56
    deep123  
       198 天前
    这个一键登录的危害,我举个例子哈,如果你的手机丢了,被不怀好意的人捡到,然后别人就可以用你的手机卡一键登录很多 APP 从而获取你一些应用账户的信息或权限。
    maleclub
        57
    maleclub  
    OP
       198 天前 via Android
    @deep123 也对,99%的朋友应该不会给 sim 卡上 PIN 锁,我之前锁过,不过坑了自己一次之后就没再上锁过。
    deep123
        58
    deep123  
       197 天前
    找了天翼账号的客户问到了 https://e.189.cn/help/feedbackPage.do 给客服提供。
    ( 1 )、使用云盘账号本机致电客服热线( 4008281189 )
    ( 2 )、云盘账号最近 3 个月内 2 次充值记录(含号码、时间、金额)截图+身份证正反面照片
    ( 3 )、云盘账号手机营业厅(电信/移动/联通掌厅)首页或我的界面截图(含号码)+身份证正反面照片
    ( 4 )、云盘账号手机号的开户证明照片

    提供第三项和一二四项中的任选一项。
    maogang39
        59
    maogang39  
       178 天前
    @deep123 是不是电信号才去找天翼的客服,移动号也要找天翼客服吗?
    疑惑第三项的 (电信/移动/联通掌厅)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   878 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:03 · PVG 05:03 · LAX 14:03 · JFK 17:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.