google支付被刷问题及服务端订单验证解决方案
来源:互联网 发布:阿里站贸易数据 编辑:程序博客网 时间:2024/06/14 21:21
最近在google play上线的应用内支付被人刷了,用户模拟发起了大量的支付请求,并且全部成功支付。搞得我最近茶饭不思。。今天总算是解决了,和大家分享一下。
我们客户端的支付实现步骤是:
1. app端调用google支付
2. 支付成功后,调用 自己服务器的发货接口,当然发货接口是做了签名校验的。
之所以在app端调用发货,是因为google貌似没有提供服务器端直接回调url的地方,所以才给了恶意用户模拟google返回的机会。
一开始我以为是我们自己的发货接口密钥被破解了,但是后来经过app上报,发现客户端是真实的走过了所有的google支付流程,即google的支付sdk真的返回了成功。
由于不清楚是因为google的密钥泄漏还是攻击者用别的方法实现,所以客户端这边已经没有办法确认是安全的了。
好在google是提供了查询订单的接口的: http://developer.android.com/google/play/billing/gp-purchase-status-api.html
实现的流程在文档中已经写的很清楚了,我这里就不赘述了。
判断的方法也很简单:
1. 判断是否购买成功
2. 判断返回 developerPayload 是否与传入的值一致。最好传入订单号,以防止重放攻击。
0 0
- google支付被刷问题及服务端订单验证解决方案
- google支付服务端订单验证PHP代码
- Google支付订单真伪的验证方式
- google支付接口被刷以及解决方案
- google支付接口被刷以及解决方案
- google支付接口被刷以及解决方案
- java服务端验证谷歌支付Google Pay
- 订单漏单问题分析及解决方案
- Google支付服务端client_id和client_secret及refresh_token参数申请
- google支付接口被刷以及解决方案 google支付查单
- google play支付如何用php验证订单完成的合法性
- google play支付如何用php验证订单完成的合法性
- 微信小程序之支付后调用SDK的异步通知及验证处理订单
- java 服务端验证苹果支付applepay账单
- 集成iOS的支付宝遇到的问题及解决方案
- 解决电商订单与支付大数据量的解决方案
- GooglePlay Console 后台配置以及支付订单验证流程
- 淘宝店铺订单同步及获取解决方案
- android开发常用的java包
- Ubuntu13.10纯文本模式/终端中文乱码解决方法
- 开始读《Unix环境高级编程》
- ffmpeg移植
- 仿集成多种验证类型的EditText实现原理,例android-edittext-validator或Android-Validator
- google支付被刷问题及服务端订单验证解决方案
- iBeacons Tutorial for iOS 7 with CLBeaconRegion and CLBeacon(英文)
- android notify学习
- Codeforces #257 (Div. 2) B. Jzzhu and Sequences
- C# 复制和克隆认识浅谈
- rabbitMq的接触
- acm-UVa414(水题)
- Hibernate+spring缓存机制配置
- 流相关File文件以及能够操作流的properties集合