Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 苹果应用内购买收据验证_Ios_Security_In App Purchase - Fatal编程技术网

Ios 苹果应用内购买收据验证

Ios 苹果应用内购买收据验证,ios,security,in-app-purchase,Ios,Security,In App Purchase,客户端应用程序成功执行应用内购买并从iTunes收到收据。然后,客户机将此收据发送到服务器,服务器将与苹果公司进行验证,如果成功,则为客户机解锁一些内容 是否可以在IAP采购申请中插入额外数据,以便收据或收据验证包含此值 我试图阻止中间人/包嗅探类型的黑客即如果有人发现另一个人的收据并对我的服务器进行验证,服务器如何知道该收据不是由该验证人生成的 从苹果的IAP中,验证响应中返回了许多值。是否可以使用version\u external\u identifier值?它的用途或价值是什么 谢谢

客户端应用程序成功执行应用内购买并从iTunes收到收据。然后,客户机将此收据发送到服务器,服务器将与苹果公司进行验证,如果成功,则为客户机解锁一些内容

是否可以在IAP采购申请中插入额外数据,以便收据或收据验证包含此值

我试图阻止中间人/包嗅探类型的黑客如果有人发现另一个人的收据并对我的服务器进行验证,服务器如何知道该收据不是由该验证人生成的

从苹果的IAP中,验证响应中返回了许多值。是否可以使用
version\u external\u identifier
值?它的用途或价值是什么

谢谢

version\u external\u标识符
唯一标识应用程序版本的任意数字。沙盒创建的收据中缺少此键

这确实回答了你的问题;这是一种确定您的应用程序进行了哪些修订的方法。您可以有相同的版本号,但有多个修订版本,这允许使用该版本号和IAP

是否可以在IAP采购申请中插入额外数据,以便收据或收据验证包含此值

最终,没有。苹果控制着收据及其内容。如果你遵循文档中的指导方针(请参阅更多的信息以及你发布的链接),你就可以避免中间人攻击(苹果会考虑这一点)。确保与服务器和苹果的连接是HTTPS

一个中间人为了某些人买东西,反正有点莫名其妙;购买请求与苹果ID绑定,这意味着中间的人需要知道他们的凭证