微信刷票
WeChat投票如何实现刷票
如何实现微信投票刷票。一位朋友突然向我的微信发了一个网站,要我投票给她。我是一个善于谈论它的人,我投票支持她。顺便说一句,我分析了这个网站,发现这个网站的投票系统有ip限制,但投票是一个ajax请求。然后方法出来了。近年来,微信投票一直很好。流行,只要它是一项活动,通常会做一个投票功能。 刷票已形成庞大的产业链,但如何防止刷票的行为非常麻烦。首先,我们必须了解微信的刷票行为。微信投票基于openid来确定用户是否已投票。Openid是加密的微信号,每个用户对每个公共号码的openid都是唯一的。
这个判断有一个很大的漏洞,就是它只能判断openid是否重复,但是无法判断openid是否为真。即使openid是真的,刷票软件也有批量正确的openid。 刷票软件是使用HttpClient和其他类似的客户端数据包向服务器发送openid和投票信息。由于刷票软件动态地伪装ip并且具有大量的openid,因此很容易在没有完美抗刷的应用程序中投射大量票据。
以下是一些防止刷票的方法
1,只注意公众号码投票
在服务调用API中用于获取用户基本信息。当用户投票而不注意时,我们可以根据订阅是0还是1来判断是否有任何顾虑。如果没有注意,请转到公共号码的QR码页面并提示用户按并举行第二次。该代码涉及公共号码。这种方法的缺点是每次投票时都会与微信服务器进行交互。
2.确定引用和用户代理
Referer是最后访问过的页面,因此refer必须是投票的页面地址。 User-Agent必须有关键字MicroMessenger3,限制客户端投票数为 ip,因为相同的ip投票时间是有限的,因为很多时候使用代理服务器如nginx或apache,所以使用HttpServletRequest getRemoteAddr()很多时间。许多刷票软件使用ip代理池,因此ip限制只能是刷票行为的一部分。 4.当投票量大于读取量时,行为存储页面读取量为刷票。投票结束后,如果投票金额大于读数,则计票票数为刷票。 5.在提交表单数据的位置,检查代码服务器返回检查代码。初始化dom时,页面使用js加密校验码。提交提交时,提交加密的检查代码,服务器对此进行判断。检查密码是否正确。 N次后,检查代码设置无效。这在技术上阻止了刷票。事实上,目前的微信刷票主要依赖于人的策略。使用网络水军手动投票,以及先进的反刷票技术无法阻止真正的投票。如何实现微信投票刷票。一位朋友突然向我的微信发了一个网站,要我投票给她。我是一个善于谈论它的人,我投票支持她。顺便说一句,我分析了这个网站,发现这个网站的投票系统有ip限制,但投票是一个ajax请求。然后方法出来了。近年来,微信投票一直很好。流行,只要它是一项活动,通常会做一个投票功能。 刷票已形成庞大的产业链,但如何防止刷票的行为非常麻烦。首先,我们必须了解微信的刷票行为。微信投票基于openid来确定用户是否已投票。Openid是加密的微信号,每个用户对每个公共号码的openid都是唯一的。
这个判断有一个很大的漏洞,就是它只能判断openid是否重复,但是无法判断openid是否为真。即使openid是真的,刷票软件也有批量正确的openid。 刷票软件是使用HttpClient和其他类似的客户端数据包向服务器发送openid和投票信息。由于刷票软件动态地伪装ip并且具有大量的openid,因此很容易在没有完美抗刷的应用程序中投射大量票据。
以下是一些防止刷票的方法
1,只注意公众号码投票
在服务调用API中用于获取用户基本信息。当用户投票而不注意时,我们可以根据订阅是0还是1来判断是否有任何顾虑。如果没有注意,请转到公共号码的QR码页面并提示用户按并举行第二次。该代码涉及公共号码。这种方法的缺点是每次投票时都会与微信服务器进行交互。
2.确定引用和用户代理
Referer是最后访问过的页面,因此refer必须是投票的页面地址。 User-Agent必须有关键字MicroMessenger3,限制客户端投票数为 ip,因为相同的ip投票时间是有限的,因为很多时候使用代理服务器如nginx或apache,所以使用HttpServletRequest getRemoteAddr()很多时间。许多刷票软件使用ip代理池,因此ip限制只能是刷票行为的一部分。 4.当投票量大于读取量时,行为存储页面读取量为刷票。投票结束后,如果投票金额大于读数,则计票票数为刷票。 5.在提交表单数据的位置,检查代码服务器返回检查代码。初始化dom时,页面使用js加密校验码。提交提交时,提交加密的检查代码,服务器对此进行判断。检查密码是否正确。 N次后,检查代码设置无效。这在技术上阻止了刷票。事实上,目前的微信刷票主要依赖于人的策略。使用网络水军手动投票,以及先进的反刷票技术无法阻止真正的投票。