我们真的需要在 iOS 6 上进行应用内验证吗?
Posted
技术标签:
【中文标题】我们真的需要在 iOS 6 上进行应用内验证吗?【英文标题】:Do we really need this verification for in-app over iOS 6? 【发布时间】:2013-01-25 06:48:39 【问题描述】:去年,那个俄罗斯黑客创造了一种无需付款即可验证应用内购买的方法,this guy created a class to verify each purchase。
据我所知,黑客暴露的这种技术在 ios 6 上不再适用,但我不确定。
我正在为 iOS 6 创建一个新应用程序,并试图将代码最小化,甚至比这更好,我的应用程序内涉及与 Apple 托管的内容,所以我想知道这个添加的验证对于我的情况是否真的有必要.
记住
-
我正在为 iOS 6 及更高版本进行开发;
我的应用内托管了苹果的内容,所以即使黑客技术有效,这个人也永远不会得到苹果托管的内容。
有什么想法吗?
谢谢。
【问题讨论】:
很高兴看到有时问题也提供了比答案更有趣的信息,这迫使我将其加入书签。 您对哪些信息感兴趣? ???? 【参考方案1】:该漏洞应该在 iOS6 中得到解决,但这并不意味着您应该偏离一般的收据验证最佳实践。请参阅Verifying Store Receipts 和 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 托管,您仍然可以为自己提供额外的防欺诈保护。苹果并不完美;他们可能会在打开您的应用的情况下自行滑倒。
最终,当您处理自己的收入时,最好谨慎行事,而不是事后后悔。
【讨论】:
以上是关于我们真的需要在 iOS 6 上进行应用内验证吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用登录用户的权限在网络驱动器上进行 asp.net 文件 IO
iOS SDK 在测试设备上进行身份验证时报告“用户被拒绝”
无法在 Laravel 6 中的 SMTP 服务器上进行身份验证