微信投票是怎么实现刷票?

发布时间:2017-12-09 07:52:57


微信投票怎么实现刷票。一个朋友突然发了一个网站到我的微信,让我帮她投投票。我这人一项比较好说话,就帮她投了.顺便分析了这个网站,发现这个网站的投票系统有ip限制,但是投票是一个ajax请求.那么办法就出来了.微信投票在这几年一直很热门,只要是个活动往往都做一个投票的功能。刷票已形成了一个庞大的产业链但如何防止刷票行为就很让人头疼了。首先要清楚微信的刷票行为,微信投票是根据openid来判断一个用户是否已投过票。
 
微信投票是怎么实现刷票?
openid是加密后的微信号,每个用户对每个公众号的openid是唯一的。
这个判断依据有较大的漏洞,就是只能判断openid是否重复,但无法校验openid是不是真实的。而且就算openid是真实的,刷票软件也有批量的正确openid。刷票软件就是通过使用HttpClient等类似客户端发包,把openid和投票信息post至服务器。由于刷票软件动态伪装ip,拥有大量openid,很容易就在没有完善防刷的应用投大量的票。
一下是几种防止刷票的方法
1、只有关注了公众号才能投票
在服务调用获取用户基础信息的API当用户投票且未关注时,我们可根据subscribe是0还是1判断有没有关注,若没有关注则转至公众号的二维码页面并提示用户先长按二维码关注公众号。此方法的缺点就是每次投票都要与微信服务器进行交互。
2、判断refer和User-Agent
Referer为上一个访问的页面,所以refer必须要为投票的页面地址。 
User-Agent里面必须有关键词MicroMessenger
3、限制客户端投票次数
 用ip当成同一个ip投票次数受限制,由于很多时候使用nginx或apache之类的代理服务器,因此直接使用HttpServletRequest的getRemoteAddr()很多时候。很多刷票软件都使用ip代理池,所以ip限制只能一部分刷票行为。
4、当投票量大于阅读量时就是刷票行为
存储页面阅读量,投票完成后,计算票数若投票量大于阅读量时就是刷票行为。
5、在提交表单数据的地方使用校验码
服务端返回一个校验码,在dom初始化的时候页面使用js加密这个校验码,commit的时候提交这个加密的校验码,服务端再判断这个加密码的校验码是否正确。校验码设置使用N次后就作废。
 
这个是从技术上防止刷票,其实现在的微信刷票主要是依靠人海战术。采用网络水军人工投票,再先进的防刷票技术也无法阻止真人投票。

服务支持

我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

让您真正感受到我们的与众不同!

合作流程

最方便快捷的微信投票流程

客户答疑

你们的投票费用是多少?如果主办方修改升级了投票系统,刷票会受影响吗?

联系我们

微信刷票诚信专业的投票网站为优秀的您打造成功平台!