APP里有一个功能是用户上传图片以后,让其他人来投票,最后得票最多的可以得到某种奖励。最近发现了几次刷票的情况,本文总结一下处理的方法
<!--more-->
投票无需登录
基本的规则是投票无需登录,因为如果需要登录了才能投票的话,会影响活动的传播效率。所以规则设置为任何人都可以投票,这就给拉票行为留下了隐患
相反,如果限制登录才能投的话,刷票就很困难了,服务端可以很容易地控制刷票行为
在服务端控制的方案
所以既然不能用account_id这个天然的唯一标识,就需要找到另一个可以唯一标识终端的标记
在app里可以用IDFA或者device_id作为唯一标识。同时我们也提供了web版的拉票页面,可以考虑用cookie来作为唯一标识,虽然不太稳定,也可以基本上达到目的
在客户端控制的方案
另一种方案是在客户端做控制,每次客户端投票以后,都把投过的票的id记下来,然后屏蔽掉重复操作
在app里可以用文件保存住,web里也可以用local storage实现。全过程不需要服务端参与,是一个比较理想的方案
缺点是local storage有一定的兼容性问题,在比较老的android手机上会有问题。另外如果服务端的接口完全不做保护的话,的人可以通过直接调接口的方式,绕过客户端逻辑实现刷票
给服务端接口增加保护
通过上述的方法,基本上可以保证通过客户端正常操作的用户无法刷票,但是无法应对直接调用接口的场景,所以还需要对接口本身进行保护
有一种方法是给接口增加2个参数,random和key,调用的URL类似:
http://api.xxx.com/vapi/vote?random=111&key=222
random是某种随机数,比如跟时间相关的随机数,然后根据某种算法,可以从random算出key。这种算法在客户端和服务端是一致的,这样接口每次被调用的时候,可以检查一下random和key是否正确,拒绝掉错误的请求
通过这种保护,基本上可以过滤掉简单的重复调用。当然也不是绝对安全的,因为这个算法在客户端,特别是web里,从javascript里就可以分析得到
其它的保护比较针对IP的保护,针对agent的保护等等,类似一些反爬虫的策略,本文就不继续展开了
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
就目前而言着实是没有一个完美的解决方案。现行的所有机制其实都只是做到了“防君子不防小人”。刷票分为两个大类:一类是人为主体,通过人力去刷票。另一种更为可怕,通过
《一贝投票系统 v6.8 (防刷票版)》是一个专为各类投票活动设计的软件解决方案,致力于提供安全、可靠且具有反刷票功能的投票管理平台。这款系统在 v6.8 版本中针对防止恶意刷票进行了优化升级,确保了投票过程的公正...
【标题】"基于PHP的一贝php图片投票管理系统(防刷票版)" 提供了一套用于创建和管理在线图片投票活动的解决方案。这个系统是用PHP编程语言开发的,旨在为网站提供安全、高效的投票功能,同时具备防止刷票机制,确保...
【标题】:“2021-2022收藏资料网站投票防刷票验证码分析和实践” 【描述】:这份文档深入探讨了网站投票系统中防止刷票现象的验证码技术和策略,重点关注了在教育精品资料领域的应用。 【标签】:“教育精品资料...
在本篇关于PHP防刷票技术的文章中,主要讨论了通过人为增加逻辑限制来防止刷票行为的多种策略,下面我将对这些策略进行详细介绍。 首先,文章提到了使用CURL进行信息伪造,这种方法是利用CURL库构造HTTP请求头,...
黑产刷票流程包括利用爬虫工具大量下单、不支付、在订单失效前再次抢占座位,以及在成功售出后取消占位订单。 2. **云盾Anti-Bot Service**:阿里云提供的专业防爬服务,它是一个基于反向代理的SaaS产品,能够为Web...
刷新是指用户短时间内重复访问同一页面,这可能会影响数据的准确性,甚至可能被用于恶意攻击,例如对投票系统进行刷票。为了防止这种情况,我们可以设置时间间隔,限制在特定时间内同一IP的访问次数。 ```php $ip ...
这个基于PHP的盾灵投票吸粉系统,结合防刷机制,为创建公平、活跃的网络投票活动提供了可靠的解决方案。无论是用于企业活动、粉丝互动还是其他在线竞赛,都能有效地吸引关注,增加用户参与度,同时保护系统免受刷票...
4. **防刷票机制**:为了保证投票的公正性,系统可能有防止恶意刷票的机制,如IP限制、验证码验证等。 5. **结果统计与展示**:提供实时的投票结果统计,支持图形化展示,便于用户直观了解投票情况。 6. **权限...
2. COOKIE防刷票机制:COOKIE是一种在用户浏览器上存储小量信息的技术。当用户参与投票时,系统会在用户的浏览器中设置一个特定的COOKIE,记录用户的投票行为。如果用户尝试再次投票,系统会检查是否存在该COOKIE,...
在问卷调查系统中,为了保证数据的准确性和公平性,需要设计防刷票机制。这可能包括IP地址的监控,防止同一IP地址重复提交问卷;设置问卷的有效期,限制问卷提交的时间;使用验证码或身份验证机制,确保每个参与者的...
5. **安全与防护**:实施防刷票机制,防止恶意刷票破坏投票公平性。 6. **界面定制**:允许自定义网站外观,适应不同品牌和活动需求。 在技术实现上,此类系统可能基于常见的Web开发框架,如PHP的Laravel或Django...
2. 投票模块:提供用户投票功能,确保每个用户只能投一票或设定多票制,同时具备防刷票机制。 3. 显示模块:展示所有参赛图片,可以按照时间、热度等多种方式排序,方便用户浏览。 4. 数据统计模块:实时统计投票...
2. **防刷机制**: 为了保证投票的公正性,系统采用了防刷票机制。每个用户只能投一票,并且在未投票的情况下无法查看投票结果。这一设计有效防止了恶意用户通过重复投票来影响结果,确保了投票的公平性。 3. **在线...
此外,可能还会实施防刷票策略,如IP限制、验证码机制等,防止恶意投票。 最后,为了提升用户体验,系统可能会使用AJAX实现页面无刷新更新,提供流畅的交互体验。加载优化策略,如延迟加载和缓存利用,可以减少页面...
安全性方面,雪晖在线投票系统通常会采取一定的防刷票措施,如限制IP地址的投票次数,或者通过验证码等方式防止机器自动投票。这有助于维护投票的公平性,防止投票结果被人为操纵。 在数据统计与分析方面,系统会...
而本文介绍的使用PHP结合memcached实现页面防刷新功能则提供了一种更加安全和高效的解决方案。 Memcached是一个高性能的分布式内存对象缓存系统,它通常被用来加速动态数据库驱动网站,减少数据库负载,并提高响应...
独有百度大数据智能算法,更多回家方案随心选择:曲线回家、多买几站、少买几站还有特价机票,一键购买,回家无忧。 独家24小时订票,提前n天预约功能,还可优先抢下铺,全面支持学生票、成人票、儿童票购买,超多...
系统还应有防刷票机制,例如限制每个IP地址的投票次数,或者设置投票冷却期。 其次,投票选项的创建和管理是系统的核心部分。管理员应该能够轻松添加、编辑和删除投票主题及选项,同时支持设定投票的起止时间。此外...
- 安全机制:包括密码加密、防刷票机制(如限制IP或账号投票次数)等。 4. **技术实现** - 使用PHP框架,如Laravel或CodeIgniter,可以提高开发效率,增强代码可维护性。 - AJAX异步请求,提升用户体验,投票...