4

我已经读过几次 Apple 的文档,但我并没有真正从中变得更聪明。所以我希望这里有人知道如何处理收据验证:

我知道在 iOS 6 之前存在问题。但是现在在 iOS 7 上是否需要收据验证?它真的增加了额外的安全性吗?如果 Apple 更改收据的格式(在设备上解析它们),似乎可能会导致问题。

4

2 回答 2

3

在我所看到的情况下,iOS7 并没有改变你是否应该进行收据验证的需求,只是收据验证是如何可能的。iOS7 已在设备上启用收据验证(例如,请参阅上面的https://stackoverflow.com/users/1226963/rmaddy链接,并参阅在 iOS 7 上本地验证应用内收据和捆绑收据的完整解决方案)。

设备上收据验证是否增加了额外的安全性?在我看来确实如此。它为您提供了另一种工具来保护您的购买。在我的应用程序(尚未发布)中,我想支持 iOS6 和 iOS7,所以我决定有一个后端服务器来对 iOS6 案例进行收据验证。由于我有那个服务器,对于 iOS7 收据,我首先进行设备验证,如果成功,我会进行服务器验证作为第二次检查。

您是否进行收据验证(在 iOS5、iOS6、iOS7 等中)实际上取决于您的安全性对您的意义。如果您没有太多的安全需求,那么为什么要花很多时间在安全上。如果你这样做,那就做更多。

如果 Apple 更改收据的格式怎么办?好吧,当然,这可能而且很可能会发生。鉴于 iOS6 到 iOS7 对重组收据和应用内购买的改变相当大,我们似乎应该期待 iOS8 再次这样做。这就是未来。处理我们现在所拥有的。

于 2013-11-21T19:33:05.297 回答
0

收据验证不是必需的,但在以下情况下需要:

  • 如果是刚刚购买的自动续订订阅 - 获取到期日期。
  • 恢复应用内购买时。如果用户重新安装了应用程序或从新设备启动了应用程序,您必须提供一种机制来恢复他的购买并允许访问他已经支付的功能。
  • 几年前,当越狱被普遍使用时,开发人员过去常常验证收据以验证付款没有被黑客入侵——我相信那些日子现在已经过去了,而且不再那么必要了。

以下是我们博客中关于 App Store 收据验证的完整常见问题解答:

https://blog.apphud.com/receipt-validation/

于 2019-10-20T09:29:16.850 回答