防刷票方案

该博客探讨了在APP投票功能中防止刷票的几种策略。由于投票无需登录,作者提出在服务端和客户端实施控制方案,如使用IDFA、device_id或cookie作为唯一标识,以及记录已投票信息屏蔽重复操作。此外,通过接口保护,如添加随机数和密钥参数,来抵御直接调用接口的刷票行为。尽管这些措施不能完全确保安全,但能有效提高刷票的难度。
摘要由CSDN通过智能技术生成

APP里有一个功能是用户上传图片以后,让其他人来投票,最后得票最多的可以得到某种奖励。最近发现了几次刷票的情况,本文总结一下处理的方法

投票无需登录

基本的规则是投票无需登录,因为如果需要登录了才能投票的话,会影响活动的传播效率。所以规则设置为任何人都可以投票,这就给拉票行为留下了隐患

相反,如果限制登录才能投的话,刷票就很困难了,服务端可以很容易地控制刷票行为

在服务端控制的方案

所以既然不能用account_id这个天然的唯一标识,就需要找到另一个可以唯一标识终端的标记

在app里可以用IDFA或者device_id作为唯一标识。同时我们也提供了web版的拉票页面,可以考虑用cookie来作为唯一标识,虽然不太稳定,也可以基本上达到目的

在客户端控制的方案

另一种方案是在客户端做控制,每次客户端投票以后,都把投过的票的id记下来,然后屏蔽掉重复操作

在app里可以用文件保存住,web里也可以用local storage实现。全过程不需要服务端参与,是一个比较理想的方案

缺点是local storage有一定的兼容性问题,在比较老的android手机上会有问题。另外如果服务端的接口完全不做保护的话,作弊的人可以通过直接调接口的方式,绕过客户端逻辑实现刷票

给服务端接口增加保护

通过上述的方法,基本上可以保证通过客户端正常操作的用户无法刷票,但是无法应对直接调用接口的场景,所以还需要对接口本身进行保护

有一种方法是给接口增加2个参数,random和keyÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值