我们真的需要在 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 服务器上进行身份验证

Android/Google Play:我真的需要我的 OWN 服务器来管理应用内计费订阅吗?

95行代码极验滑动验证码?是远远不够的!大牛石锤!

无法使用 quickblox 在 android 6 上进行视频通话