验证来自客户的应用程序购买收据

时间:2011-11-15 15:25:38

标签: ios security in-app-purchase

我(几乎)阅读了关于验证应用内购买的所有答案,实际上我已经以服务器端方式实现了它。但是管理服务器有时可能会花费太多,理论上你可以从你的应用程序进行验证:基本上只是将一个json发送给Apple并获得答案。 当然我知道在越狱设备上收据可能是假的(这就是你验证它们的原因)但是(我请原谅我的无知)为什么我不相信与Apple服务器的https连接? 我的意思是,如果用户破解我的应用程序,没有真正的方法可以确定任何事情,但如果黑客是提供虚假收据的一般方法测试Apple就足够了吗?

要明确的是,收件人的应用内验证的安全级别是多少?它可以添加一定程度的保护吗,os是无用的?

2 个答案:

答案 0 :(得分:4)

This answer很好地解释了为什么你必须使用服务器端检查来限制某些"通用目的"饼干,像" IAP饼干&#34 ;;除了链接内容传递API中的iTunes json请求是非常方便的,答案很快。

当然,如果您的目标是提供应用程序中已有但已锁定的某些内容,您可能会觉得专门为此设置服务器并不方便,但我会要求您进行此项实验:

  1. 制作一个包含一些好内容的应用,这些内容已经锁定在应用中(因此没有内容服务器需要)
  2. 添加一些分析以跟踪此锁定功能的使用情况
  3. 几个月后,将购买次数与使用付费功能的新用户数进行比较。
  4. 此时您会清楚地知道,仅为收据验证添加服务器脚本是一项很好的投资;除了有一些非常便宜的服务(例如:都市飞艇)我们已经为你做了这个,所以你不需要为此设置硬件。

答案 1 :(得分:0)

我破解了inapp cracker并发现了阻止客户端的方法:它创建的收据和事务ID具有易于发现的可预测方案。我把所有细节放在这里: spot fake receipts client side update

希望这会有所帮助