如何防止别人刷注册接口,求解决方案

2016-09-10 15:31:08 +08:00
 Wongzigii

最近发现有人在恶意刷我们的注册接口,发送了大量的短信验证码,注册设备都是 iOS ,但是诡异的是每个账号的 IDFA 都不一样。 Note :注册接口加了限制,同一个号码在一定时间内只能接受一个短信验证码。 有人知道是什么黑科技吗?

13188 次点击
所在节点    程序员
37 条回复
youyoumarco
2016-09-10 15:35:38 +08:00
大量的真机同时注册?
zhicheng
2016-09-10 15:40:04 +08:00
IDFA 不过是个字符串,每个帐号不一样哪里诡异了。防止滥用的方法,限 IP , 限号码,限全局数量。
crab
2016-09-10 15:52:27 +08:00
被人直接当作短信攻击接口了吧。建议同号码 1 天只能 5 次短信。
最好加上验证码限制 IP 限制。
另外不管有没有发送成功都提示发送成功,别提示已经超过限制。
UnisandK
2016-09-10 15:54:12 +08:00
图形验证码
ljbha007
2016-09-10 15:56:15 +08:00
加图形验证码 还有限制 IP 发送频率
overlords
2016-09-10 16:04:38 +08:00
语言验证码
Wongzigii
2016-09-10 16:07:45 +08:00
IDFA - This is unique for every device. It is reset in the following ways:

1.User can reset it and disable it as well (Limit Ad Tracking). This is found in Settings>Privacy>Advertising.

2.It is reset on OS re-install.

上网找到一些可以 reset IDFA 的方法
fyibmsd
2016-09-10 16:11:14 +08:00
付费注册 perfect
zhicheng
2016-09-10 16:21:43 +08:00
为什么要 reset ?难道你在服务器端会验证 IDFA 是否真实存在?
Wongzigii
2016-09-10 16:27:50 +08:00
@zhicheng 只是做了一些渠道统计

1. 刷子不可能是直接调用接口来刷,我们接口是 https, 且请求参数做了手脚。
2. 每次手机号, IP , IDFA 都在变。
3. 目前我能猜到的是刷子通过越狱手机脚本模拟 APP 操作。

不知道谁做过类似操作或防范过类似攻击。
liuzhedash
2016-09-10 16:36:47 +08:00
@Wongzigii https 和接口是否能刷并没有关系吧?参数的手脚具体指的是什么?
aeshfawre
2016-09-10 16:38:20 +08:00
@Wongzigii https 接口对吧,数据应该没加密对吧。
直接模拟发送 http 包给你,软件随机修改其中的参数就可以的。这种一般都不可能是模拟 app 操作,
bao3
2016-09-10 16:40:14 +08:00
跟楼主说一下,越狱后可以随便改。。。。。请一下广告跟踪就可以了。我是用越狱插件把所有的都伪造一次。哈哈原来还可以有这个功能。。。
aeshfawre
2016-09-10 16:52:47 +08:00
从你的描述来看,个人觉得就是简单的 http 封包来刷。 python 代码 30 行差不多。
ip 都在变:可能是利用 http 头的那个 x 开头的参数漏洞。另外一种就是买代理 ip 了,成本稍微高点就是。
解决方式:直接加验证码,或者客户端那边数据加密的方式,服务端这边解密失败就标记这个请求。这个需要让客户端升级成你的新版本,不知道你的 app 能不能实现。

其他的方法那就只能自己找了,他那边发送过来的 http 数据中,找出和正常用户有区别的东西来,找出来的异常账户做标记,不要让做脚本的人知道你发现了他,让他自己搞不明白你用了什么手段发现他。这些帐号以后可以删除,或者限制功能。
nodeath
2016-09-10 17:04:35 +08:00
紧急上个验证码吧。楼主是 APP 注册接口被刷要根治得判断是否越狱、越狱的需要查看是否安装作弊软件,符合的干掉
nodeath
2016-09-10 17:04:57 +08:00
@nodeath 少打了几个字,假如是 APP 注册接口被刷
chuhemiao
2016-09-10 17:34:15 +08:00
加单个 ip 限制,加图形验证码。找运维把这个人 ip 先干掉
cszchen
2016-09-10 18:10:38 +08:00
肯定不会是用手机刷呀,模拟个 http 请求,几块钱就能买一堆代理 ip 。解决办法就是要做人机判断,成本最低的就是图形验证码
vus520
2016-09-10 18:53:22 +08:00
难道验证码不是最好的方案吗?
loading
2016-09-10 18:59:14 +08:00
嫁接 12306 的验证码,还能帮打码赚钱,多好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/305290

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX