投票系统-如何限制单位时间内投票次数

限制对于防止倒票没有什么绝对的好方法,尤其是用户不需注册的情况下的投票,我们来看看有那些方法来防止倒票:

1.Session  采用Session对象防止重复投票好像还不错,如果您利用单一浏览器进行测试,确实可以证明Session具有防止重复投票的功能,实际上开启另一个浏览器,Session变了,那么又可以投票了.为什么呢?因为每一个执行中的浏览器对应一个Session对象,虽然我们可以设置第一个浏览器的Session值,但是第二
个.第三个.....无法设置了..

2.Cookie   一般利用Cookie进行设置,主要是设置Cookie的失效时间,也就是在这段时间内,这台电脑的信息被Cookie保存,你可以做允许的事情,这样我们可以利用其进行投票,比如说登录的时候将Client的IP地址赋值给Cookie,Cookies("Value").Expires="12/31/2999";用户登录的时候,我们检查Cookie是否有值,来决
定他是否有权限进行投票.这种方法比Session应该好多了,重启,开启多个浏览器都被Cookie左右,但是致命的一项是Cookie是可以清除的,这样我们的设置又轻易的被破解了.

3.IP+数据库 这是目前还算有效但是不是绝对有效的方法,下面的示例将记录我做的教师测评的限制IP的源码.用户登录的时候,取得Client端的IP,并且与系统数据库存储的IP比较(系统存储的数据可以按照时间的
降序排列,这样如果有重复IP,我们只比较最上面的那条就可以了,具体看代码!):如果相同的话,再次比较时间,如果两者时间差超过半小时则可以投票,否则警告信息:一台电脑半小时内
只能投票一次;如果不相同的话,就是说明这个IP没有投票过,那么可以进行投票,同时更新IP和时间纪录!这种方法也有一致命的漏洞---动态IP地址,比如ADSL还有其它的动态变化的IP等等,这样也就失去作用
了(由于我们学校是静态IP,所以我这样做啦,o(∩_∩)o...哈哈).

4.IP+Cookie 这种方法又多了一层保障,但是对于动态IP地址+删除Cookie的组合来说还是可以破解的.

5.Mac 网卡的物理地址在世界唯一,我们可以通过网卡的Mac地址(物理地址)来进行锁定电脑,这方法看起来不错,但是很多软件都能制造伪Mac地址....

6.就是用户注册ID投票,这样限制一个ID只能投票一次或者单位时间内只能投1次效果是非常好的,但是一个人也可以注册很多用户ID啊!!所以上述6中方法没有一种是100%有效的方法,大家根据自己所需,按照自己的要求选择,所谓防君子,不防
小人嘛o(∩_∩)o...哈哈

时间: 2024-10-29 16:09:15

投票系统-如何限制单位时间内投票次数的相关文章

php投票系统之增加与删除投票(管理员篇)_php技巧

关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用php实现投票系统,与其他普通系统一样,分为两部分,一个是管理员部分,一个是普通用户部分. 关于投票系统的管理部分,非常之简单,提供两部分的功能,增加投票与删除投票 关键在于设计好数据库的表,拟定于这样存一个投票,voteparent表存这个投票的标题.描述是否被删除,votechildren表存这个投票的子选项与投票数 一.基本目标 首先投票系统是这样的: 三个链接,点进去能够直接进行相关功能的操作,本文主写管理员部分,普通

延安一网络投票系统疑似遭到“黑客”攻击

本报延安讯(记者 周鹏) 2012年度延安市安全发展"双十佳"评选活动网络投票系统疑遭"黑客"攻击,投票通道感染病毒后被迫关闭,此前投票结果全部清零. 投票系统疑似遭到"黑客"攻击 据了解,此次"双十佳"评选活动由延安市安全发展委员会主办,采取基层推荐.综合评审.宣传展示.社会投票四个步骤进行:3月1日至3月底,全市各县区政府.市安委会成员单位各推荐1个单位和1名干部职工作为候选:4月1日至4月15日,组委会对申报对象进行初评

用ASP.NET 2.0设计网络在线投票系统

asp.net|设计|投票|网络|在线 一.系统功能设计和数据库设计 1.系统功能设计和数据库设计 1.1 系统功能设计 网络在线投票系统实现的功能比较简单,具体如下: ◎投票项目的管理: ◎添加投票的项目: ◎删除投票的项目: ◎对项目进行投票: ◎查看项目的投票情况. 1.2 数据库设计 本系统的数据库设计比较简单,只需要存储投票的信息即可.在SQL Server 2000中创建一个数据库,名称为"WebVoteDB",并在该数据库中创建投票项目表Votes.其中"Vot

实例分析学习动态网页制作技术PHP开发投票系统

如果你从来没有接触过PHP,那么还是先看看这个吧,当然即使是你已经对PHP有所了解,但一本PHP4的的使用手册也还是需要的,:).此外一本HTML语法手册当然也是不可缺少的啦. 我们来开始做一个可以应用的PHP的投票程序.在这篇里大家将学习到cookie技术的使用,PHP的数组操作及档案的处理.如何?大家准备好了吗?Let"s go! 在开始具体的程序设计之前,我们先学习一下几个下面需要用到的重要概念和函数: 首先是cookie,我们需要用他来防止同一台机器进行重复投票. 那么什么是cookie

php简单 在线投票系统 源码下载,

php简单 在线投票系统 源码下载,上次要和你一家公合作他们说要我写一个简单的投票系统,但是每一个IP只能投一次,好了下面就是我写的一个最最简单的投票系统了,是用php实现的. 先来创建数据库.有两个一个记录投票次数与相关信息一个是记录IP. CREATE TABLE IF NOT EXISTS `lj_vote` (   `id` int(8) NOT NULL auto_increment,   `v_type` int(4) default '1',   `v_caption` varch

简单投票系统[防刷程序刷新]

简单投票系统[防刷程序刷新] <?php include_once("../inc/connect.php");  $value =$_SERVER['HTTP_HOST'];   if(empty($_COOKIE["cook"])){     if(sizeof($_POST)<9){ exit("<script>alert('对不起,你还有选项未选!');history.back();</script>"

Django快速开发之投票系统

参考官网文档,创建投票系统. ================ Windows  7/10 Python 2.7.10 Django 1.8.2 ================     1.创建项目(mysite)与应用(polls)            D:\pydj>django-admin.py startproject mysite D:\pydj>cd mysite D:\pydj\mysite>python manage.py startapp polls 添加到sett

用Dreamweaver MX 2004制作ASP动态网站(投票系统篇)

dreamweaver|动态|投票 投票程序源文件:点击这里下载源文件 一.程序说明及投票系统流程图 总的来说,投票系统可分为3个模块:选票模块,选票处理模块和结果显示模块! 投票系统需要对某一项目的选择做出记录,一般情况下是存放在数据库中然后对投票情况进行统计并显示投票结果. 首先给出选票,即供投票者选择的窗体对象,当投票者按下投票按钮后,选票处理模块开始激活,对传送到服务器的数据作相应的处理,服务器端在处理时先判断用户选择的是那一项,然后把相应字段的值加1.实际上保存投票结果的数据库中的表只

防作弊很强的投票系统机制源代码

源代码|作弊|投票系统 这个是投票前一页代码.在此页点击投票.<%Response.Cookies("cook")="yes"%>以下是投票页代码<%if Request.Cookies("cook")<>"yes" thenresponse.write "<script language='javascript'>alert('cookies没开启无法进行投票');loca