Ras*_*sto 15 security nsuserdefaults in-app-purchase ios swift
应用内购买编程指南建议您可以在NSUserDefaults 此处保留应用内购买.但是我发现这篇文章说它不安全,并且可以轻松访问和修改其中的数据:
NSUserDefaults以二进制格式存储在plist中,没有加密,并存储在应用程序的目录中.这意味着任何用户,甚至是"最苛刻的"用户,都可以用5分钟的时间来修补你的NSUserDefaults.
如果确实如此,用户可以轻松获得免费提供的任何内容作为持久使用的应用内购买NSUserDefaults.
iOS 8,9的文章是否仍然正确?如果是这样,你如何坚持你的应用内购买?我更喜欢简单的解决方案.我不(也不想)验证收据等.
cra*_*777 28
正如其他人所说的那样,最好不要在UserDefaults中保存敏感数据,例如应用内购买或明显的密码等.甚至像高分的东西也可以更好地保存在钥匙串中,这样人们就不会作弊.
我认为Apple文档的一部分已经过时,应该更改,因为UserDefaults不是存储敏感数据的方式,在应用程序购买中肯定是IMO.
只需在UserDefaults中保存基本内容,如语言设置,音量设置等.
如果要保存敏感数据,则应使用Keychain.现在我认为keychain API非常棘手,但是你可以使用GitHub上的2个很棒的帮助器
1)https://github.com/jrendel/SwiftKeychainWrapper
2)https://github.com/matthewpalmer/Locksmith
我个人使用第一个更直接,更容易使用.它确实使保存数据的任务与UserDefaults相同.只需将swift文件复制到项目中或使用CocoaPods就可以了.
第二个是更先进和复杂但仍然很好.它只是您需要的选择以及您对Keychain API的理解程度.
使用钥匙串要记住的一件事是,即使您删除了应用程序,数据仍然存在,我认为这是件好事.
所有功劳都归功于他们各自包装的作者.
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
9073 次 |
| 最近记录: |