首先,你要防止刷票,就要明白怎么刷票,
这东西以前研究过,大概有这么些:
简单的:
Session限制(关闭浏览器重新打开或者禁用Cookie即可破解)
Cookie限制(删除本地Cookie或者禁用Cookie即可破解)
IP限制(ADSL拨号换IP或者网页流量即可破解,所谓的网页流量就类似于把分析后的投票地址通过JS,框架等隐藏嵌入到流量大的网站,当访问者访问被嵌入投票地址的网站便会在不知情的情况下投票,Hacker也可以通过肉鸡操控一些本地程序实现刷票)
验证码限制(此种方法的破解程度要根据验证码的难度来决定刷票的难度,比如类似Google那种验证码,还有一些BT的,甚至可以把数学题当作验证码)
以上的这些方法可以互相组合(Session+Cookie、Cookie+IP、IP+验证码都可以,组合的方法有很多,可以根据自己的需要搭配)
简单的说完再来说稍微复杂一些的:
令牌限制(这种投票机制可以结合上面的一些方法,然后在通过一个Token,Token的算法可以自己写,在投票的时候验证Token的正确性然后在确定本次的投票是否是正确的投票,我记得百度贴吧的投票系统就是这样,需要一个Token才可以正确的投票,而那个Token则是之前进页面的时候就生成的,不过如果破解了Token,便可以进行刷票了)
来路检查(在接收投票数据的时候对投票者的来路进行检查,如果非本站提交的数据则视为非法投票,不过这个也可以伪造,所以也不是绝对的安全)
账户限制(用户进行投票需要进行注册一个指定的账户,登录之后才可以进行投票,同理,只是增加了刷票难度,还是可以通过程序来实现自动注册,自动投票)
邮箱验证(当用户投票时候,系统会给指定的邮箱发送一封邮件,用户需登录指定邮箱点击相应的链接才会使本次投票生效,至于破解便是去注册N多的邮箱去进行投票,也是增加了投票难度)
手机验证(用户投票需要输入手机号,然后会发给该手机号一个指定的验证码,当验证码正确才可以正确的进行投票,其实也可以刷,不是有那种专门的投票公司吗?他们有的是手机号)
RMB限制(每次投票需要RMB,类似于腾讯以前的超女投票,1QB可以投一次票,可以避免一般的刷票,但是如果人家有钱还是照刷不误)
上门的方法可以任意在组合,组合出适合自己的,只能尽量增加刷票的复杂度,但是完全避免刷票是不可能的,就和病毒一样,你要完全杀掉互联网上的病毒那是根本不可能的,其实刷票,不只是网络中才有,我们现实中不是也有很大这样的例子吗?现实中都不可避免的东西,网络中更和以避免呢?