去年,俄罗斯黑客创建了一种方法来验证应用内购买而无需付款和
this guy created a class to verify each purchase.
据我所知,黑客暴露的这种技术不再适用于iOS 6,但我不确定.
我正在为iOS 6创建一个新的应用程序,并尝试将代码最小化甚至更好,我的应用程序涉及Apple的托管内容,所以我想知道这个添加的验证对我的案例是否真的是必要的.
记住这一点
>我正在为iOS 6及更高版本开发;
>我的in-apps已经托管了苹果的内容,所以即使黑客技术有效,这个人也永远不会得到用苹果托管的内容.
有什么想法吗?
谢谢.
解决方法
该漏洞应在iOS6中解决,但这并不意味着您应该偏离一般的收据验证最佳实践.见
Verifying Store Receipts和
In-App Purchase Receipt Validation on iOS获取更多信息.
In-App Purchase Receipt Validation on iOS获取更多信息.
如上面的链接所述,Apple建议您遵循收据验证的最佳做法,无论是在iOS 5还是iOS 6上.“简单的代码”不足以成为偏离这些指南的理由.如果将代码结构化为定义良好的类,则可以将所有接收验证逻辑抽象到自己的类中,从而使得使用它的代码更加清晰.
如果您直接从App连接到App Store进行验证,那么他们明确指出的措施(参见“My app performs validation by connecting to the App Store server directly. How am I affected?”)应该有所帮助.如果以抽象的方式(在类别或类中)实现它们,那么它仍应保持代码清洁.
即使您的内容由Apple托管,您仍然可以为自己提供额外的防范欺诈手段.苹果并不完美;他们可能会自己打开你的应用程序.
最终,当你处理自己的收入时,你最好安全地玩,而不是后来抱歉.