前端时间看了下关于app充值验证发送游戏金币的好多帖子和文章,也总结了一下app校验的php代码:可以参考我的上一封博客:
http://blog.csdn.net/pbymw8iwm/article/details/42167125
其中这个帖子回复的大神比较多:点击打开链接
有些人认为拿苹果的receptdata去验证,通过返回的status就可以判断是否合法,如果合法就给冲金币,如果不合法就失败不处理,但逻辑这个是有漏洞的,
因为假如又一个玩家一个月以前充值生成了一个receptdata,现在他把这个receptdata又发给你的服务器,你去苹果那边校验,我敢肯定你得到的返回staus肯定还是0,然后你把金币又冲给这个玩家,那这个玩家估计心里爽翻了。那么如何防止被刷单呢,我认为其中一个方法就是当处理一个苹果返回的订单的时候,我们就记录下苹果的transactionid对应的是我们游戏里的哪一个订单id,那么等这个玩家下一次刷单又发相同的receptdata,虽然他通过了app的验证,但是因为这条transactionid已经处理了,那么我们任然有理由就直接拒绝他。