ios 内购越狱插件防护策略 iap 更安全

ap cracker   :越狱软件 可以 截获付费请求,并直接返回 付费成功。 
iap free       : 截获付费请求的同时,还能截获客户端发起的 验证请求 ,返回验证成功的 数据 ,据说 返回的数据 和 官方的数据并不是完全一样,可以识别出来是否作弊,但是不保证永久有效。
 
针对 iap cracker,iap free , Apple 已经采取了措施,就是 添加了一个 验证接口 
文档链接:xcdoc://?url=developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573 
 
接口:
生产环境:
 https://buy.itunes.apple.com/verifyReceipt
测试环境:
https://sandbox.itunes.apple.com/verifyReceipt
请求方式:post
HttpBody 为 json数据格式 :     {"receipt-data":"订单数据经过Base64编码"}

 
返回数据
格式验证失败:
{"status":21002, "exception":"java.lang.NullPointerException"} 
验证成功:
{"status":0, 其他一些关于订单的 数据信息}  

 
方案有两种:
1、客户端发起网络请求去验证,通过其他手段来判断是否是作弊行为 比如 当前如果没有联网肯定是作弊,字段不完全一样也是作弊
2、把数据发给 自己的 server ,由 server 去验证,验证完后再返回给客户端  
 
利弊都有
第一种延时会短一点但不够安全
第二种很显然 用户体验差一点但更安全一点 
 

第二种方案的话 需要 自己的 server  不能被 伪造 才可做到 足够 安全,可以通过对称加密或签名认证的方案来解决。


 其实 一般的游戏道具数据 都是 服务端维护的,  客户端 只需要 把 内购的 receiptData  发给服务器,服务器根据这个  receiptData 就可以完成所有的 数据业务更新 ,把处理过 业务 之后的最新用户状态数据 返回给 客户端就好了 。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值