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

175 天前
 zhangsimon
iPhone 上卸载了的 App ,重新安装后打开会提示我是否登录之前的账号
我记得之前问过,有人说是用的 iCloud 钥匙串

我这次特意在重置过的手机上试的,全程没有开启 iCloud 钥匙串呀😲
App 是怎么做到还是记录了我的登录状态,好神奇
5281 次点击
所在节点    iPhone
33 条回复
sanshao124
175 天前
就是 iCloud ,数据被存在云端了
gap
175 天前
有没有可能是 cache 还在?
Leonard
175 天前
iCloud keychain 。这个和你保存密码的 keychain 不同,你不能选择开启或关闭。
Leonard
175 天前
@Leonard #3 如果你重置手机了还能记录登录状态,那就不是通过 keychain 。猜测可能是读取手机号什么的
moyumoyu
175 天前
@gap iOS 卸载 app 之后,通常 cache 会被清除,沙盒程序就是这么设计的,当然也有例外,就是如果卸载的程序开启了 iCloud ,或者有共享容器,或者系统级别的 cache ,则不会被完全清理,一般情况 cache 都会完全删除
Ausmo
175 天前
应该跟很多 ios 游戏(外区游戏,国内不允许游客账户了)卸载了重装后游客账户玩的号还在一样,就是楼上说的 keychain ,那个东西是存在你手机里而且用户不能主动删除的,除非你重置系统才会清除
shinsekai
175 天前
钥匙串数据分三种:可以被 iCloud 同步的,不可以被 iCloud 同步但可以在不同设备间通过备份还原的,以及不可以被同步也不可以从不同设备间还原的。iCloud 钥匙串开关只负责第一种,剩下两种卸载程序后除非出厂否则永远不会被清除。也就是说,通过不断安装卸载 app ,iphone 的储存空间是有可能被填满的。
zhangsimon
175 天前
@Leonard #3 啊 我补充描述下。重置完手机没有记住登录,但相当于新手机了,我故意没开启 iCloud 钥匙串,登录了 app ,卸载后再安装会有登录提醒。🤣 所以你说的 app 登录状态那个 keychain 在哪儿啊,完全没法清除吗?
zhangsimon
175 天前
@shinsekai 🤣 好吧,学习到新知识了。那 app 岂不是可以靠这个状态作为记录用户设备的唯一标识?
shinsekai
175 天前
@zhangsimon 可以的,比如 B 站就算不登录也能在卸载重装后恢复你的浏览记录和推荐算法。只要在钥匙串保存唯一标识再跟云端浏览记录绑定即可。
653513754
175 天前
如果你重置手机,并且没有从其他设备同步数据,账号的登录状态还在的话,请把这个 APP 的名字发出来,我去举报
jacksonj297
175 天前
@zhangsimon 是的,Uber 小红书就是这样 ban 用户设备的
jacksonj297
175 天前
@653513754 Uber 高德地图打车美团外卖用的 device check 的 token 来识别同一设备。小红书卸载重装直接显示之前登录的账号,高德地图卸载重装换个手机号登录要求扫码支付该设备另一个手机欠费的打车订单才能打车。Uber 靠这个 ban 盗刷信用卡和司机乘客私下现金交易避免 Uber65%抽成的设备。小红书私信发微信号引流也会被 ban 设备。
@shinsekai @sanshao124 @Leonard @moyumoyu @Ausmo @shinsekai
zhangsimon
175 天前
@jacksonj297 😬 算不算一定程度的隐私泄露? Apple 为啥这么设计这个功能呀
jacksonj297
175 天前
之前美国 lyft 打车两个手机号薅了两次新用户羊毛直接被 ban 设备了,Uber 两个手机号只是不让用新用户羊毛说是老用户。lyft 怎么都不给我解封。最后无奈只能刷机恢复 iCloud 云备份注册个新号依然被 ban 。最后又刷机不恢复 iTunesiCloud 云备份。手动导入照片视频微信聊天记录数据注册个新号才没被 ban 。
jacksonj297
175 天前
@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
175 天前
苹果给开发者提供的接口,说是这个 binary data 两进制数值在保护用户隐私的同时帮助开发者识别欺诈设备或者重复滥用新用户折扣的设备
@zhangsimon 27
jacksonj297
175 天前
@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
175 天前
@zhangsimon #14 用来定位用户的广告 ID 算隐私,用来禁用设备的设备 ID 不算隐私:我猜的。事实上大概率来说:道高一尺、魔高一丈。
zhangsimon
175 天前
@jacksonj297 #15 Soga ,所以恢复备份也会把这个 keychain 带回来啊🤧 我记得我以前用户 iTunes 恢复,好像确实也遇到类似情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/993479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX