本文为姜友瑶原创作品 非商业转载请注明作译者、出处,并保留本文的原始链接。否则追究法律责任!商业转载请联系作者!
更多作品请访问我的个人网站 www.jyymatrix.cc
其实我自己没有用过刷票软件,但是我和刷票软件之间却有过战斗!
之前帮学校做的投票网站再次上线后发现还是遇到了投票软件的攻击。后面我也好奇于是去网上找了一些关于刷票软件的资料。
看看能否从中找到一些办法去阻挡。
先来看一款刷票软件的界面
从界面上我们可以知道,验证码基本可以识别所以使用验证码基本没用了,
还有一点刷票器需要输入投票地址,基本上每个选手都会有一个投票的地址,这个地址需要你填写的。呵呵重点就在这里了,
其实我们可以动态的改变每一次每一个选手的投票地址,所以投票的网址一变化投票软件在强大也无济于事了。
具体实现思路:
如果原来的投票路径为 xxx.jsp?id=5;
5是选手的id号,我们可以为5做一个UUID映射
5---adfaklsdaweri12nbfaaisd12fh3
每次请求时变化UUID的值所以每次投票地址都会变化
当然这个映射我们自己也需要知道,所以这个映射需要存在session中 用用户的IP地址作为key 映射关系作为值,每次投票的时候根据
UUID取出对应的id号完成投票。
还有一点需要注意,一些强大的投票软件可以提供大量真实的qq,微博,微信账号去投票所以不是用qq和微信登陆就能够预防机器投票的。要多种方式组合用,
我整理一下这次投票网站用到的防止机器投票的一些方法:
1、每个人使用QQ登陆
2、动态改变投票地址
3、限制单个ip连续请求时间间隔不得低于500mm
4、记录每次投票的流水信息,万一被攻破可以从流水信息中找出异常票数,在统计时干掉。
5、记录用户cookie信息