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

iPhone 上的 App 是怎么在卸载重装后仍然记录我的登录状态的

  •  
  •   zhangsimon · 2023-11-20 14:29:20 +08:00 · 9838 次点击
    这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变。
    iPhone 上卸载了的 App ,重新安装后打开会提示我是否登录之前的账号
    我记得之前问过,有人说是用的 iCloud 钥匙串

    我这次特意在重置过的手机上试的,全程没有开启 iCloud 钥匙串呀😲
    App 是怎么做到还是记录了我的登录状态,好神奇
    33 条回复    2023-11-23 11:28:33 +08:00
    sanshao124
        1
    sanshao124  
       2023-11-20 14:51:21 +08:00
    就是 iCloud ,数据被存在云端了
    gap
        2
    gap  
       2023-11-20 14:53:45 +08:00
    有没有可能是 cache 还在?
    Leonard
        3
    Leonard  
       2023-11-20 14:56:24 +08:00
    iCloud keychain 。这个和你保存密码的 keychain 不同,你不能选择开启或关闭。
    Leonard
        4
    Leonard  
       2023-11-20 15:00:47 +08:00
    @Leonard #3 如果你重置手机了还能记录登录状态,那就不是通过 keychain 。猜测可能是读取手机号什么的
    moyumoyu
        5
    moyumoyu  
       2023-11-20 15:01:35 +08:00   ❤️ 1
    @gap iOS 卸载 app 之后,通常 cache 会被清除,沙盒程序就是这么设计的,当然也有例外,就是如果卸载的程序开启了 iCloud ,或者有共享容器,或者系统级别的 cache ,则不会被完全清理,一般情况 cache 都会完全删除
    Ausmo
        6
    Ausmo  
       2023-11-20 15:01:45 +08:00
    应该跟很多 ios 游戏(外区游戏,国内不允许游客账户了)卸载了重装后游客账户玩的号还在一样,就是楼上说的 keychain ,那个东西是存在你手机里而且用户不能主动删除的,除非你重置系统才会清除
    shinsekai
        7
    shinsekai  
       2023-11-20 15:05:17 +08:00
    钥匙串数据分三种:可以被 iCloud 同步的,不可以被 iCloud 同步但可以在不同设备间通过备份还原的,以及不可以被同步也不可以从不同设备间还原的。iCloud 钥匙串开关只负责第一种,剩下两种卸载程序后除非出厂否则永远不会被清除。也就是说,通过不断安装卸载 app ,iphone 的储存空间是有可能被填满的。
    zhangsimon
        8
    zhangsimon  
    OP
       2023-11-20 15:10:14 +08:00
    @Leonard #3 啊 我补充描述下。重置完手机没有记住登录,但相当于新手机了,我故意没开启 iCloud 钥匙串,登录了 app ,卸载后再安装会有登录提醒。🤣 所以你说的 app 登录状态那个 keychain 在哪儿啊,完全没法清除吗?
    zhangsimon
        9
    zhangsimon  
    OP
       2023-11-20 15:11:45 +08:00
    @shinsekai 🤣 好吧,学习到新知识了。那 app 岂不是可以靠这个状态作为记录用户设备的唯一标识?
    shinsekai
        10
    shinsekai  
       2023-11-20 15:18:13 +08:00
    @zhangsimon 可以的,比如 B 站就算不登录也能在卸载重装后恢复你的浏览记录和推荐算法。只要在钥匙串保存唯一标识再跟云端浏览记录绑定即可。
    653513754
        11
    653513754  
       2023-11-20 15:24:35 +08:00
    如果你重置手机,并且没有从其他设备同步数据,账号的登录状态还在的话,请把这个 APP 的名字发出来,我去举报
    jacksonj297
        12
    jacksonj297  
       2023-11-20 15:30:53 +08:00 via iPhone
    @zhangsimon 是的,Uber 小红书就是这样 ban 用户设备的
    jacksonj297
        13
    jacksonj297  
       2023-11-20 15:34:04 +08:00 via iPhone
    @653513754 Uber 高德地图打车美团外卖用的 device check 的 token 来识别同一设备。小红书卸载重装直接显示之前登录的账号,高德地图卸载重装换个手机号登录要求扫码支付该设备另一个手机欠费的打车订单才能打车。Uber 靠这个 ban 盗刷信用卡和司机乘客私下现金交易避免 Uber65%抽成的设备。小红书私信发微信号引流也会被 ban 设备。
    @shinsekai @sanshao124 @Leonard @moyumoyu @Ausmo @shinsekai
    zhangsimon
        14
    zhangsimon  
    OP
       2023-11-20 15:34:37 +08:00
    @jacksonj297 😬 算不算一定程度的隐私泄露? Apple 为啥这么设计这个功能呀
    jacksonj297
        15
    jacksonj297  
       2023-11-20 15:37:07 +08:00 via iPhone
    之前美国 lyft 打车两个手机号薅了两次新用户羊毛直接被 ban 设备了,Uber 两个手机号只是不让用新用户羊毛说是老用户。lyft 怎么都不给我解封。最后无奈只能刷机恢复 iCloud 云备份注册个新号依然被 ban 。最后又刷机不恢复 iTunesiCloud 云备份。手动导入照片视频微信聊天记录数据注册个新号才没被 ban 。
    jacksonj297
        16
    jacksonj297  
       2023-11-20 15:38:07 +08:00 via iPhone
    @zhangsimon https://developer.apple.com/documentation/devicecheck 就像 lyft 打车的那里例子,防止用户滥用新用户折扣。Using the DCDevice class in your app, you can get a token that you use on your server to set and query two binary digits of data per device, while maintaining user privacy. For example, you might use this data to identify devices that have already taken advantage of a promotional offer that you provide, or to flag a device that you’ve determined to be fraudulent.
    jacksonj297
        17
    jacksonj297  
       2023-11-20 15:40:12 +08:00 via iPhone
    苹果给开发者提供的接口,说是这个 binary data 两进制数值在保护用户隐私的同时帮助开发者识别欺诈设备或者重复滥用新用户折扣的设备
    @zhangsimon 27
    jacksonj297
        18
    jacksonj297  
       2023-11-20 15:43:17 +08:00 via iPhone
    @zhangsimon 微信用这个接口封号那些用双开和防撤回插件的用户和设备 Someone who modifies your app and distributes it outside the App Store can add unauthorized features like game cheats, ad removal, or access to premium content. The App Attest service gives your app a way to assert its validity so that your server can more confidently provide access to sensitive resources. 修改您的应用程序并在 App Store 之外分发的人可以添加未经授权的功能,如游戏作弊、广告删除或访问高级内容。App Attest 服务为您的应用程序提供了一种断言其有效性的方法,以便您的服务器可以更自信地提供对敏感资源的访问。
    nothingistrue
        19
    nothingistrue  
       2023-11-20 15:49:13 +08:00
    @zhangsimon #14 用来定位用户的广告 ID 算隐私,用来禁用设备的设备 ID 不算隐私:我猜的。事实上大概率来说:道高一尺、魔高一丈。
    zhangsimon
        20
    zhangsimon  
    OP
       2023-11-20 15:52:11 +08:00
    @jacksonj297 #15 Soga ,所以恢复备份也会把这个 keychain 带回来啊🤧 我记得我以前用户 iTunes 恢复,好像确实也遇到类似情况
    WhatTheBridgeSay
        21
    WhatTheBridgeSay  
       2023-11-20 16:03:31 +08:00
    keychain 存了东西,macOS 可以看,单纯 iOS 看不到
    Leonard
        22
    Leonard  
       2023-11-20 16:40:49 +08:00 via iPhone
    @zhangsimon iOS 用户管理不了这个钥匙串,开发者可以管理自己 App 的钥匙串。用户要清除掉只能重置手机。这个我感觉确实一定程度上暴露了隐私
    frankkly
        23
    frankkly  
       2023-11-20 16:42:20 +08:00
    keychain ,美团系的 App 甚至不用你手动输入账号密码登录,只要你登录过他们家别的 App ,你首次打开新下载的 App 登录的时候,他会直接提示你用另一个 App 已经登录的账号进行登录
    Ericality
        24
    Ericality  
       2023-11-20 16:46:32 +08:00
    keychain 这个如果是重置之后选择从 iCloud 恢复 还会被恢复过来嘛?
    如果不会的话 那定期重置手机是一个不错的方式(重置备用机)
    zhangsimon
        25
    zhangsimon  
    OP
       2023-11-20 16:51:53 +08:00
    @Ericality 参见 15 楼用户的发言,iCloud 恢复会保存那个记录…
    所以要想完全抹掉,必须设置新的设备了🤡
    Ericality
        26
    Ericality  
       2023-11-20 16:54:43 +08:00
    @zhangsimon 好在备用机不存在不可丢失记录这一说
    如果想保护隐私 还是要麻烦一点 定期重置 设置为新机并手动设置一遍才行🤡
    moyumoyu
        27
    moyumoyu  
       2023-11-20 17:26:58 +08:00
    其实这也是为什么很多用户使用了 iOS 就离不开的原因,因为很多小细节系统都给你做好了,就算你重装,卸载,换机,只要开启了 iCloud ,就不需要重复操作,只要 iCloud 同步的,一切都会恢复到你上一次使用时的状态,多台主机也是共通的,比如我的 nplayer 里面几台服务器的配置自动同步
    baobao1270
        28
    baobao1270  
       2023-11-21 02:29:18 +08:00
    「钥匙串访问」,如果你有 Mac 设备可以清除掉,是随 iCloud 同步的
    jwd1208
        29
    jwd1208  
       2023-11-21 11:22:36 +08:00
    建议试试 edge 浏览器,如果之前只要你有登陆过一次,后面不管是什么方式处理,再次安装后之前登陆过的邮箱都会出现,简直离谱
    leesa
        30
    leesa  
       2023-11-21 21:39:26 +08:00
    @Ericality 直接在 Mac 的 [钥匙串访问] 中删掉对应的 app 信息就行了
    wangj00756
        31
    wangj00756  
       2023-11-22 09:56:50 +08:00
    你选择的应该是卸载 app ,只删除 app 本体,数据还在,应该是存到“系统数据”里面了,等你下回来这个 app 就一模一样还原;
    但是你选择删除 app ,那是连 app 和数据一起删除的。
    aero99
        32
    aero99  
       2023-11-22 10:47:56 +08:00
    @baobao1270 #28 这个钥匙串访问入口在哪呢,是 iCloud 账户里面还是钥匙串和密码里面,没有找到
    653513754
        33
    653513754  
       2023-11-23 11:28:33 +08:00
    @jacksonj297 deviceCheck 只能存两 bit 数据,用来标记黑产设备还行,根本做不到识别同一设备
    卸载重装显示之前账号这种,就是把账号信息存 keychain,没什么违规的
    ban 设备靠的是设备指纹,会不会绕过就看个人能力了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2865 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:35 · PVG 20:35 · LAX 04:35 · JFK 07:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.