appstore防代充的一些想法
点击这里可以查看代充相关的报道, 利用苹果商店规则漏洞,出现了一个灰色地下产业链>>
用户点击选择要充值的物品时,先向后台服务器发起一个创建订单号的请求,然后再向appstore发起购买商品的请求。在回调函数productsRequest中,根据SKProductsResponse中的priceLocale属性来获取当前所处的国家/地区
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
{
NSLog(@"-----------收到产品反馈信息--------------");
NSArray *myProduct = response.products;
NSLog(@"产品Product ID:%@",response.invalidProductIdentifiers);
NSLog(@"产品付费数量: %d", [myProduct count]);
for(SKProduct *product in myProduct){
NSLog(@"product info");
NSLog(@"SKProduct 描述信息%@", [product description]);
NSLog(@"产品标题 %@" , product.localizedTitle);
NSLog(@"产品描述信息: %@" , product.localizedDescription);
NSLog(@"价格: %@" , product.price);
NSLog(@"Product id: %@" , product.productIdentifier);
NSLocale* storeLocale = product.priceLocale;
NSString * storeCountry = (NSString*)CFLocaleGetValue((CFLocaleRef)storeLocale, kCFLocaleCountryCode);
NSLog(@"Store Country = %@", storeCountry);
}
}
这里可以进行一些初步的验证,非白名单的国家/地区将被禁止购买。
但实际上却发现最近俄罗斯退款特别严重,也就意味着上述的判断在实际代充防范中没有起到预期的作用,它是如何绕过的呢?目前猜测的可能是,先将appstore的国家切换为中国大陆并将帐号的登录状态退出,在支付时弹出输入用户名密码中,它输入一个新注册的俄罗斯注册的appstore帐号(帐号里不能有余额,不然是不允许切换国家的,如果有余额想清空要么买东西用掉要么就打电话让苹果工作人员手工清理干净)然后通过卢布进行支付,之后再一次性批量申请退款。卢布,大家都知道跌的比较厉害,再者新创建的帐号一定程度上能避免一个帐号多次退款可能失败的情况。摆明了是空白掏白狼,再者伟大的某淘对此也不太过问,法律上目前为止对这种行为也没有进行什么有效的约束,这个地下产业的确很庞大
代充对appstore手游市场的伤害是巨大的,开发商/运营商在比较糟糕的情况下坏账可高达50%,对这种行为不太清楚业界是否有厂商已经将这个比例控制在一个很小的范围之内了。因为信息不对称,苹果是不开放充值订单相关的任何数据信息,也就很难定位到底是哪台设备或者哪个角色名是使用代充的(正常玩家的退款我觉得应该是要去接受的)。
既然苹果那边是走不下去,目前能想到的方案就是通过ip记录和分析来进行判定了,比如经常登录的ip有哪些,但是突然冒出来一个很特殊的ip进行了充值行为,但没有消费行为,而经常消费的ip跟充值ip对应不上,那么它就极有可能就是代充获得的元宝。当然规则还有很多,也是不断要进行完美的,这是一个长期的过程。对于这种帐号,可以采用直接封mac设备的登录,让该设备无法登录游戏,同时在登录游戏时给出相应的提示,并且与关联的游戏帐号也立马冻结并记录在案。想做到这一点,就要在每一个向后台发送的请求的接口上都带上尽可能多的信息,比如未登录之前,要获取它的设备型号、操作系统版本、唯一标识(之前是mac,ios7+后只能采用IDFA了,使用IDFA想通过审核就只能注明在游戏内投放了广告并在很明显的地方告知苹果)等信息,登录之后就要再多传入是哪款游戏、哪个区、角色名及角色ID等相关信息。
但IP有一个问题,可能不一定准确。比如同事他有一个3G的南京卡,在苏州地区使用时,通过查询ip得到的却是南京地区,这样就可能导致ip判断上不准确了,至于原因,我在网外大致搜索了一下,好像是各运营商分成的问题(利益关系在里面)导致的,至于里面具体的细节有空得向相关的专业朋友请教一下了。
其实像腾讯或者支付宝对安全要求较高的公司,它们在这方面的积累已经较为丰富了。比如QQ在异地登录时,它立马就会有相应的提示,银行其实也是类似,连续在不同的地区的ATM上进行数次取款,其实就是一种异常行为了
媒体关于黑卡充值的报道:
appstore防代充的一些想法的更多相关文章
- 分析苹果代充产业链 汇率差+退款造就三线城市千万富翁_中新游戏研究_Joynews中新游戏
分析苹果代充产业链 汇率差+退款造就三线城市千万富翁_中新游戏研究_Joynews中新游戏 CNG:近日有媒体曝出8月22日这一天,有一家淘宝店卖出了351张面值4000南非南特的App Store ...
- 手游折扣app排行榜前10名_2018哪个折扣app最低最好
2018游戏圈白皮书发布,PC端游的份额继续下降,页游的比例也在下降,但手游的比例持续3年上升.以渠道为阵营,逐渐小的平台和公会被逐渐淘汰.流量集中在少数几个大的平台.但是这样带来的问题是,平台越来越 ...
- 大陆 Google play 开发者注册(2016)
1:准备一个VPN, 如: https://vpnso.com 收费的,使用一两年了,还不错,很稳定2:准备一张普通的银行卡或者信用卡就可以了,能正常绑定支付宝就行3:在全球付上面申请一个 虚拟 ...
- python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...
- 手游折扣app票选结果公布哪个好哪个靠谱一目了然
2018年,是中国改革开放40年,也是中国互联网20年.“互联网推动了精神文明向更高水平的迈进,实现人的价值第一,创造美好生活,从生产高于生活.艺术高于成活,转向发现与实现生活本身美好,让想象成真.如 ...
- 苹果应用商店AppStore审核规则指南
http://www.zesmob.com/blog/40161.html 新应用上架苹果AppStore或重大版本更新时,往往会被拒多次,造成审核不通过的原因,主要是因为对苹果应用商店AppStor ...
- App提交Appstore审核流程
原文: https://www.douban.com/note/461351420/ 这是一个app提交到iTunces Connect被拒了4次摸索出来的经验,说多了都是泪,先让我擦擦...好了,话 ...
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)
一.前提: 完成Hello Game项目的创建编译. 具体参考:Cocos2dx.3x_Hello Game项目创建篇 二.本篇目标: l 说说关于塔防游戏的想法和思路 l 实现一个简单的塔防游戏 ...
- GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术
GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...
随机推荐
- 大数据统计分析平台之一、Kafka单机搭建
1.zookeeper搭建 Kafka集群依赖zookeeper,需要提前搭建好zookeeper 单机模式(7步)(集群模式进阶请移步:http://blog.51cto.com/nileader/ ...
- IDEA中Ctrl+Shift+F快捷键无效的解决方式
某天突然发现idea非常重要的快捷键ctrl+shift+F无效了,网上搜了很多都说是qq快捷键冲突,但是找了下qq快捷键却没有解决,现在给大家一个解决快捷键冲突的思路: 1.查看QQ快捷键--> ...
- 11 个最佳 jQuery 模拟滚动条插件 scrollbar
1. Windows:全屏窗口滚动插件 该插件可以很好地实现全屏滚动,每滚动一次即为一屏.比如,用户浏览下一屏幕内容时,只需手动滚动到某一位置,该插件会自动滚动显示下一屏全部内容.对于浏览类似于PP ...
- 使用div模拟出frameset效果
<!doctype html> <html xmlns="http://www.w3.org/1999/xhtml" > <head> < ...
- Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined)
思路:把边看成点,然后每条边只能从下面的边转移过来,我们将边按照u为第一关键字,w为第二关键字排序,这样就能用线段树维护啦. #include<bits/stdc++.h> #define ...
- 【Java】 归并排序的非递归实现
归并排序可以采用递归方法(见:归并排序),但递归方法会消耗深度位O(longn)的栈空间,使用归并排序时,应该尽量使用非递归方法.本文实现了java版的非递归归并排序. 更多:数据结构与算法合集 思路 ...
- H5地理位置定位
一:介绍使用的知识点 1.地理定位的原理 2.geolocation对象 3.Geolocation Api 4.getCurrentPosition的第一个参数 5.getCurrentPositi ...
- 高能天气——团队Scrum冲刺阶段-Day 7 总结
高能天气--团队Scrum冲刺阶段-Day 7 总结 今日完成任务 于欣月:修改项目说明书,帮助修改应用 余坤澎:进行应用整合的收尾工作 康皓越:进行应用整合的收尾工作 范雯琪:修改项目说明书,完成项 ...
- linux 输入设备驱动
<输入子系统简介> a:背景 内核的输入子系统是对“分散的”,“多种不同类别”的输入设备(键盘,鼠标,跟踪杆,触摸屏,加速度计等)进行“统一处理”的驱动程序.具有如下特点: a-1:统一各 ...
- VM 操作系统实例化(基于 KVM 的虚拟化研究及应用--崔泽永(2011))的论文笔记
一.VM操作系统实例化 1.建立虚拟磁盘镜像 虚拟磁盘镜像在逻辑上是提供给虚拟机使用的硬盘, 在物理上可以是 L inux系 统内一普通镜像文件, 也可以是真实的物理磁盘或分区. 本方案设计中将虚拟机 ...