gpt4 book ai didi

ios - iOS 8,9 上的 NSUserDefaults 有多安全?

转载 作者:IT王子 更新时间:2023-10-29 05:18:44 26 4
gpt4 key购买 nike

In-App Purchase Programming Guide 建议您可以在 NSUserDefaults 中保留 In-App purchase here .但是我发现this article说它不安全,其中的数据很容易访问和修改:

NSUserDefaults are stored in plist in binary format, with no encryption, and is stored in your app’s directory. This means that any user, even the “noobiest” one, can tinker with your NSUserDefaults with 5 minutes of their time.

如果这是真的,用户可以轻松免费获得任何作为应用内购买提供的东西,这些东西是使用 NSUserDefaults 持久保存的。

这篇文章对于 iOS 8,9 是否仍然正确?如果是这样,您如何保留您的应用内购买?我更喜欢一些简单的解决方案。我不(也不想)验证收据等。

最佳答案

强烈建议不要在 UserDefaults 中保存敏感数据,例如应用内购买或明显的数据(例如密码)。甚至像高分这样的数据也最好保存在钥匙串(keychain)中,这样人们就无法作弊。

我认为部分 Apple 文档已经过时并且应该更改,因为 UserDefaults 不是存储敏感数据的方式,在应用程序购买中这绝对是 IMO。

只需将基本数据保存在 UserDefaults 中,例如语言设置、音频设置等。

如果您想保存敏感数据,您应该使用钥匙串(keychain)。我认为钥匙串(keychain) API 使用起来相当棘手,但您可以使用 GitHub 上的一个很棒的帮助程序,它支持 CocoaPods 和 SwiftPackageManager,并且由其作者积极维护。

https://github.com/kishikawakatsumi/KeychainAccess

还有 2 个我曾经使用过的项目不幸的是似乎不再受支持

https://github.com/jrendel/SwiftKeychainWrapper

https://github.com/matthewpalmer/Locksmith

使用钥匙串(keychain)需要牢记的一件事是,即使您删除了您的应用程序,数据仍然存在,我认为这是一件好事。

所有功劳归功于各自包装器的作者。

希望对你有帮助

关于ios - iOS 8,9 上的 NSUserDefaults 有多安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com