在Web开发中,投票模块会经常出现的,这样就使得防止刷票(Iteye上博客浏览次数就没有进行控制,记得以前模仿iteye做了一个博客论坛系统解决了这个问题,当时还是很兴奋的),成为了很重要的技术,下面来介绍几种防止刷票的方式:
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、定制方式
短时间内的多次投票,可能导致投票数下降;哈哈。
部分摘自网络
分享到:
相关推荐
项目介绍: ...在界面上有一个表格,显示了各位老师的编号、姓名、得票数;其中,得票数显示为一个红色的进度条,并显示得票的数值;...(3)进一步思考,考虑系统是否存在刷票的隐患,如何防止刷票。
在Web开发中,投票模块会经常出现。这样就使得防止刷票,成了至关重要的技术。以下是试验过或者网上找到的防止刷票方法
主要是算法思想。程序不完整、下载请郑重。主要算法思想:根据每天投票次数设定,统计历史投票判定能否投票、加密投票对象的ID、加密IP传输参数、对投票区间数据统计、时间戳判定等主要是防止一般的机器刷票行为。
以下是一些防止恶意刷新和刷票的方法: 1. **使用验证码(CAPTCHA)**: 验证码是一种常用的技术,它要求用户在提交表单前输入图像上显示的一串随机字符。这可以防止自动化脚本或机器人无限制地刷新页面或提交表单...
在本篇关于PHP防刷票技术的文章中,主要讨论了通过人为增加逻辑限制来防止刷票行为的多种策略,下面我将对这些策略进行详细介绍。 首先,文章提到了使用CURL进行信息伪造,这种方法是利用CURL库构造HTTP请求头,...
此系统采用了多种策略来防止刷票: 1. **IP限制**:通过记录并分析投票者的IP地址,系统可以限制每个IP地址的投票次数,防止同一网络环境下的多次投票。 2. **验证码**:验证码是一种常用的安全机制,要求用户在...
4. **安全性**:防止恶意刷票和重复投票是投票系统的关键。ASP可以实现IP地址检查、Cookie验证等方式限制投票次数。 5. **图片处理**:图文投票系统需要处理上传的图片。ASP可以使用内置的ADO对象读取、处理图片...
【描述】:这份文档深入探讨了网站投票系统中防止刷票现象的验证码技术和策略,重点关注了在教育精品资料领域的应用。 【标签】:“教育精品资料” 验证码是防止自动机器人或恶意软件进行刷票行为的关键技术。随着...
目前来说,PHP防止刷票的判断没有太可行和完全防止的方法,需要的朋友可以参考下
这款系统在 v6.8 版本中针对防止恶意刷票进行了优化升级,确保了投票过程的公正性和公平性。 首先,我们要理解一贝投票系统的防刷票机制。在当今数字化的时代,网络投票活动日益普及,但同时也面临着刷票现象的挑战...
5. **安全防护**:包括XSS、SQL注入防御,以及防止刷票的机制,如IP限制、时间间隔限制、验证码等。 6. **图像处理**:如使用GD库或Imagick处理图片上传和展示。 7. **前端技术**:HTML、CSS和JavaScript构建用户...
5. **防刷票机制**:为了防止刷票,系统可能采用了多种策略,如IP限制(同一IP在一定时间内只能投一定次数)、验证码验证、用户行为分析(异常投票模式检测)等。这些都需要PHP配合数据库和可能的第三方服务实现。 ...
防止刷票的方法有很多种,除了前面提到的添加用户登录,还可以通过IP地址限制、验证码机制、设备指纹识别等手段。例如,记录投票者的IP地址,限制同一IP在一定时间内的投票次数;设置图形验证码或者滑动验证码,增加...
三、防止刷票 在线投票系统中,验证码同样扮演着关键角色。它防止了同一IP地址或者同一用户反复投票,维护了投票的公正性。通过验证码,系统可以确认每次投票请求的真实性,减少操纵投票结果的可能性。 四、PHP...
1. **防刷票机制**:防刷票是此版本的重点升级。系统通过一系列技术手段,如IP限制、设备识别、验证码验证等,防止同一用户或机器短时间内重复投票,确保投票的真实性和合法性。同时,可能还具备异常投票行为检测...
【投票系统C#】是一个基于ASP.NET技术构建的网络应用,旨在实现安全、可靠的在线投票功能,同时具备防止刷票的机制...通过学习和分析此项目,开发者能够更好地理解Web应用的构建,并掌握防止刷票等实际问题的解决方法。
然而,为了防止恶意刷票和确保投票的公正性,组织者通常会设置一系列限制措施。本文主要探讨了如何应对这些限制,通过使用《网页自动操作通用工具》等技术手段实现自动投票。 首先,最常见的限制是基于IP地址的投票...
例如,防止重复投票、确保用户数据的安全、保护投票的匿名性以及防止恶意刷票。此外,良好的用户界面和用户体验也是必不可少的,以吸引用户参与投票。开发者可能还需要考虑投票统计的算法,以便实时更新和展示投票...