防止刷票的一些方法介绍_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 防止刷票的一些方法介绍

防止刷票的一些方法介绍

 2012/1/13 9:06:35  xdwangiflytek  程序员俱乐部  我要评论(0)
  • 摘要:在Web开发中,投票模块会经常出现的,这样就使得防止刷票(Iteye上博客浏览次数就没有进行控制,记得以前模仿iteye做了一个博客论坛系统解决了这个问题,当时还是很兴奋的),成为了很重要的技术,下面来介绍几种防止刷票的方式:1、IP限制这个应该是使用最多也是最广泛的方式,该方式主要是通过获取访问用户的IP地址,来限制其在一段时间内所能使用的票数。当然,经常用电脑的老手是很容易绕出这种限制的。ADSL用户,可以通过断线重拨来更换IP地址;使用代理访问的用户,我们也无法获取其真实的IP地址
  • 标签:方法

?

Web开发中,投票模块会经常出现的,这样就使得防止刷票(Iteye上博客浏览次数就没有进行控制,记得以前模仿iteye做了一个博客论坛系统解决了这个问题,当时还是很兴奋的),成为了很重要的技术,下面来介绍几种防止刷票的方式:

?

1IP限制

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

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

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

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

?

2Cookies验证

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

?????????? Cookie可以禁用;

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

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

?

3Session验证

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

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

?????????? 客户端禁用CookieSession也会失效;

?

4、验证码

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

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

?

5MAC地址限制

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

?

6、用户模块

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

?

7、行为记录

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

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

?

8、回答问题

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

?

9、随机投票地址

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

?

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

?

10、填写信息

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

?

11、投票码/排号系统

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

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

?

12、人民币投票

给钱投票,不过在用户面前提钱想想都知道,不适用的。

?

13、定制方式

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

?

?部分摘自网络

发表评论
用户名: 匿名