防刷票常见方案

1、IP限制

这个应该是使用最多也是最广泛的方式,该方式主要是通过获取访问用户的IP地址,来限制其在一段时间内所能使用的票数。当然,经常用电脑的老手是很轻易绕出这种限制的。

ADSL用户,可以通过断线重拨来更换IP地址;

使用代理访问的用户,我们也无法获取其真实的IP地址;

还有一些网上恶心的刷票工具等;

 

2、Cookies验证

这种方式用的也比较多,但是我们都知道客户真个信息和内容都是不可靠的,随便一个熟悉web的人了解Cookies,就可以很轻易的绕过这种限制了

Cookie可以禁用;

使用代理访问的用户,我们也无法回往其真实的IP地址;

Cookie可以随意修改,甚至是删除;

 

3、Session验证

我们知道Session可以给每一个访问的用户一个唯一的SessionID,大家不要看到唯一就兴奋,以为此种方式ok,无缺点,大家别忘了Session的致命缺点,在学JSP的内置对象的时候我们知道我们应该知道Session的生命周期。呵呵,晓得了吧。

 封闭浏览器,Session就会被销毁;

客户端禁用Cookie,Session也会失效;

 

4、验证码

在做的比较好的网站上,大家可以看到用户的注册、登录、回复、发帖等等,都会使用验证码,但是这种方式会让用户有时感觉很恶心,程序员讲究的是怎么方便怎么来,但是,,而且发帖频繁的访问验证码,也加大了服务器负担。

有种验证码貌似可行,google推出的图形验证码旨在让用户将图片翻转至正确的方向,方可完成验证。图形验证码程序一般是几个歪歪斜斜、弯曲的字面和数字,人类可以很轻松地辨认出来,但对于机器却无法做到,所以很少有软件或者电脑操纵可以很好的绕过这样的验证码。不过,缺点呢,实现难度很高(google弄的玩意就是很牛叉)。

 

5、MAC地址限制

大家知道一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。所以我们也可以根据MAC地址作为限制,但是这个地址我没获取过,据说不是很好获取,而且就算读取到,其读取的也是存储于注册表的一个信息,它也是可以进行修改的。

 

6、用户模块

这应该算很有用的方式。每个游客,必须注册了账户才能进行投票,通过限制账户ID来限制投票,并且可以限制初始注册用户,一段时间内不能参与投票。而且,真有大量的注册用户涌进,也可以增加网站的流量。可是,对于小地区网站来说,这样会让网友觉得很麻烦,可能放弃投票,从而可能流失网站的用户。

 

7、行为记录

实在,很多刷票行为我们是没办法进行限制的。可是有时候,我们却可以很好的记录下来。而且当检测到非正常投票的时候,自动提出票数,要么返回投票成功的假象,也可以很好的限制刷票。

缺点就是,记录过多的数据,会让服务器压力很大。而且,假如记录行为的记录点不够多,不够复杂,也可能被刷票的专业户所参透。

 

8、回答题目

第一次使用这个方式限制刷票的时候,我们很欣慰的看到了不错的效果。可惜,假如没有足够海量的题库,很快题目的内容和答案就会被收集。反而让正常投票的用户,觉得投票很恶心、麻烦,产生厌恶心理。渐渐的也被我们抛弃了。

 

9、随机投票地址

这个方法, 让每一个访问页面的用户得到一个随机唯一的KEY,通过这个KEY,天生一个投票地址,该地址只能访问一次,使用过后便作废。

 

不过需要留意指定的KEY的内容需要足够的唯一,而且不要让高手轻易看出规律;

 

10、填写信息

投票时,让游客填写身份证,姓名,手机号码等可以表示一个人身份的信息,来进行唯一性验证。不过,身份证你知道格式,姓名随便填,手机号码随便填写,也是没办法限制的。反而让正常投票的人觉得麻烦。

 

11、投票码/排号系统

投票前,用户都需要在其他页面/邮箱先获取到一个唯一投票的编码/卷,使用一次作废。不过,如何验证‘人’的唯一呢,假如有用户,他的邮箱足够多,是不是就可以无穷获取投票码呢。

对!所以,这也只是治标不治本的方法了。不过,至少,这个方式也会让刷票的人觉得很麻烦。但是同时,也会让正常投票的人觉得不方便。不过,能够让刷票党,刷得不是那么愉快,也算是有用了。

 

12、人民币投票

给钱投票,不过在用户眼条件钱想想都知道,不适用的。

 

13、定制方式

短时间内的多次投票,可能导致投票数下降;哈哈。

 

附:google验证码:

http://www.google.com/recaptcha

 

http://code.google.com/p/kaptcha/

猜你喜欢

转载自javis163.iteye.com/blog/1672128