我们在iOS应用商店中有一个成功的应用,可以通过应用内购买。每次购买完成后,我们都会将收据发送到我们的服务器,我们的服务器,而不是使用Apple的服务器检查收据,并记录苹果的回复(包括购买是否有效以及他们是否在同一时间和日期来自我们的应用)。
我们有相当多的用户使用iap裂缝向我们发送苹果称无效的收据。然而,我们现在开始看到那些有苹果回复有价值收据的作弊者。这些骗子有什么奇怪的,当这样的骗子用户在我们的应用程序中购买时,他通常会使用完全相同的收据购买所有购买。
您是否听说过“欺骗”苹果收据验证的方式?(生成收据,苹果会在“购买”时说明这些收据来自我们的应用程序)
我们可以做些什么来在第一次购买时找到那些骗子(对于下次购买我们只需检查下一次收据的时间或确保我们的收据是唯一的)
谢谢!
答案 0 :(得分:1)
我们可以做些什么来在第一次购买时找到那些作弊者
实际上,如果这是我最近看到的作为概念证明所讨论的相同的黑客,那么第一次购买是合法的。 “创新”是解码合法收据并将其IAP ID重新标记为不同的收据,而整体收据仍然有效。所以简单地避免重复就足够了。不过没想到一个人已经准备就绪了,所以这可能会有所不同。
答案 1 :(得分:0)
我们在开发iOS应用商店游戏时也面临类似的问题,其中商业模式仅基于In App Purchase。
最初,我们过去常常使用Apple Servers查看设备的收据。但是一些黑客已经为用户创建了一个黑客,他们可以在他们的设备上安装DNS服务器证书,这会破坏Apple的响应。
这样做的方法是让网络服务器直接通过某种哈希或md5检查来检查来自Apple的收据,以确保来自Apple的响应。
这是一个链接,其中包含有关此https://www.objc.io/issues/17-security/receipt-validation/
的详细信息希望这有帮助。