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 就可以完成所有的 数据业务更新 ,把处理过 业务 之后的最新用户状态数据 返回给 客户端就好了 。




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部