=
还是要检查好自己的程序。
=
版权声明:欢迎转载, 转载请保留原文链接。
苹果充值的刷单现象在游戏行业非常普遍,很多团队挖空心思寻找漏洞以非法获利。遭遇刷单的开发者虽然在账面上看到的是漂亮的流水数字,但是苹果不会对问题账单分成,造成坏账,据传严重时有些游戏的坏账率达到80%以上。常见的手段主要有以下五种:
- 破解IAP绕过苹果扣款
- 重复使用receipt-data
- 利用信用卡黑卡
- 利用外币卡折扣赚取差价
- 利用苹果对小额消费不做验证规则的"36技术"
其中,前两种是开发者本身的程序问题,可通过完善代码中的验证流程解决,后三种则是利用了苹果充值的政策的一些漏洞。但是这些漏洞并不会对苹果造成损失,所以苹果对此也没有修改的想法,解决问题还是要靠开发者发挥聪明才智,依靠数据分析制定妥善的防御策略。
下面逐个介绍五种手段的原理和防范方法。
1 破解IAP绕过苹果扣款
常见于单机游戏,首先看看苹果充值的时序图:
客户端请求购买,AppStore处理扣款,如果成功返回给客户端名为receipt-data的数据,安全的处理流程是把这段数据发到服务端,由服务端发起请求,调用苹果验单接口验证receipt-data的有效性。
有些游戏,常见于单机游戏,直接在客户端发起对苹果验单接口的调用,甚至跳过3~7步骤直接处理发货。那么非法用户可以利用插件,如iAP Cracker,在客户端请求购买后,模拟返回扣款成功。客户端的数据都是不安全的,即使在客户端验证了receipt-data,得到的结果也可能是被篡改的。
防范这种刷单的方法是严格执行3~7步骤,通过服务器端验证receipt-data的有效性。
2 重复使用receipt-data
这种问题发生的原因是虽然已经用安全的方式检查了receipt-data的有效性,但是没有检查receipt-data的唯一性。苹果验单接口返回的数据格式如下:
数据为json格式,其中status值为0表示该receipt有效,但是苹果只负责真假,而不负责检查是否已被使用过。同一个有效的receipt,无论多少次、相隔多少时间去苹果接口验证,都会返回成功。如果只检查了"status":0即发货,则非法用户可以先真实充值一笔,截取到receipt-data后,再多次使用到购买中骗过服务器端验证。
防范的方法是在确定status值为0后,进一步解析出数据中的transaction_id并存入数据库。每次发货前先检查数据库中是否已经有本次的transaction_id存在,如果已存在则拒绝发货。
还有一种情况需要注意,有些游戏购买前先有一步创建订单的行为,在服务器端记录购买的商品、时间等,且发货时是按照订单记录中的商品,那么需要比较苹果返回信息中的product_id与订单表中的记录值是否一致。
3 利用信用卡黑卡
这是最常见的刷单手段,是指用户利用无效信用卡,在AppStore中进行消费,由于信用卡已在银行冻结,因此银行不会将款项结算给苹果,苹果自然也不会分成给开发者。
通常的形式是用户去交易网站找代充,代充的商家用绑定了黑卡的AppleID给用户的账号充值,并收取远低于正常价格的金额。也有的代充商户是召集大量的非游戏用户接单,给指定的账号充值后再申请退款,并给这些参与者一定返利来达到“共赢”。
对于这种情况,除了寄望于苹果更严格的审核信用卡信息外,开发者还可以通过监控和分析数据尽可能减小损失。对于最常见的代充形式,我们可以推测:
a. 用户充值时不在自己的常用设备上,而是由商户在自有设备上操作
b. 商户的充值设备可能为多个账号充值
分析用户的常用设备可以通过用户日常的游戏记录,如果只有在充值时会切换到不常用设备上,那么可以判定为可疑用户。如果某些设备只在充值记录中出现,却不属于任何用户的常用设备,那么使用这些设备充值的用户也可以判定为可疑用户。
对可疑用户可以进一步分析,确定后执行扣除非法所得、封停账号等。
4 利用外币卡折扣赚取差价
这是一种需要天时的刷单手段。在一些新兴市场,如墨西哥、土耳其等,苹果有专门的优惠折扣,使用这些货币充值,折扣后的差额即刷单的获利。还有一种情况是利用汇率的变化,如著名的南非币事件。
防范这种手段也很简单,客户端获取用户支付使用的货币类型发给服务器验证,在服务器端建立货币白名单,只允许使用人民币或稳定的国家和地区的货币支付。
5 利用苹果对小额消费不做验证规则的"36技术"
这是一种更有技术含量的手段,利用苹果对信用卡的小额消费不做验证的规则,并使用自动注册的虚拟信用卡完成绑卡。用户发起购买后,苹果不确认扣款即返回给客户端成功信息,而此后再进行信用卡扣款时,会出现扣不到钱的情况。
从开发者的角度来看,这笔订单是真实有效的,receipt-data也能通过苹果服务器的验证,但是最终苹果不会对这些账单分账。
相比传统的黑卡,这种方式实现了自动化处理,刷单效率很高,对开发者造成的损失更大。特别是具有交易功能的游戏,刷单者大量充值,然后在游戏内换成货币或道具低价售卖给普通玩家。
对于这种手段,目前开发者能做的就是监控用户的异常充值行为,对于频繁小额充值的用户予以限制。手游中,常见的小额商品就是6元和30元商品,也可以直接限制这些小额商品每用户每日的购买次数,来尽可能减少损失。
=
=
=
相关推荐
这是有关于苹果内购文档的集合,里面主要讲述了内购流程的实现原理!以及苹果充值因苹果保密规则衍生的一系列刷单手段的防刷策略
使用苹果cms 8x程序的朋友都知道,官方程序的充值卡生成后,不能导出,这就意味着要是生成很多卡号卡密后,不能批量复制, 此插件可导出苹果cms 8x生成的充值卡,可以导出未使用、已使用、全部充值卡 安装方法: ...
实现itunes协议 脱机 itunes gift card 充值接口 及api
苹果刷机常见错误
苹果Iphone常见的重启数据分析代码 包含苹果机型重启分析代码(i2c总线报错)
苹果5常见故障分析与维修图纸:苹果5常见故障的分析,维修,以及各个测试点的数据
电子书 苹果急救手册 解决苹果系统的常见问题
值修改为两种模式,直接充值VIP和充值积分,充值后VIP自动到账,取消积分兑换会员模式 更改注册赠送VIP天数功能,后台可填写注册赠送天数,与注册赠送积分互不影响,不再使用积分自动兑换会员 新增登录,注册...
现在的刷机教程层出不穷,但是没有哪个大神可以开发出一款安卓刷IOS的工具,使得安卓手机或者安卓平板变成IOS苹果系统,这个工具除了可以刷安卓手机也可以刷安卓平板,网友实测,如果设备不支持的话软件会提醒不支持...
在模拟接种的和最终感染的植株之间,定量分析了最终接种根茎假单胞菌后根和根生物量减少,最大根长,叶数和累积叶面积所致的基因型特异性值。 玻璃盒容器的使用提供了更强的可及性,并最大限度地降低了侵袭性,可...
如何准确、实时得到苹果病害信息是...采用该方法对三种常见苹果叶部病害进行识别实验,并与其他苹果病害识别和监督流形学习方法进行比较。实验结果表明,2DSLDR对苹果叶部病害识别是有效可行的,识别精度高达90%以上。
苹果mac电脑17种常见问题的解决方法.docx
实现苹果图像中将苹果部分分割出来并确定其果心坐标
苹果cms美剧网站模板,另有大量苹果CMS网站模板和各大影视网站数据采集器
苹果CMSV10本地化CKPLAYER增加记忆播放 自动下一集方法 复制到苹果CMSV10的www\static\player文件夹里面!直接可以用! 苹果CMSV10本地化CKPLAYER增加记忆播放+自动下一集方法 苹果CMSV10本地化CKPLAYER增加记忆...
苹果中国区应用商店接受人民币付款和充值.docx
关于苹果一体机装机问题的解决方法 关于苹果一体机装机问题的解决方法
支持版本:10.9-目前最新版本(含12.0-12.5)的苹果电脑
苹果CMS一键采集+播放器整合方法,文件内含采集和整合教程
1038:苹果和虫子 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 70115 通过数: 19748 【题目描述】 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个...