做一个在线投票系统,每个人只可以投一次。
有什么办法可以防止刷票,就是有人换了ip还可以投。

解决方案 »

  1.   

    如果你一个问题,给 40 分,回答的人更多。记录访问者的IP,存储起来,用户每次访问的时候,判断此IP 是否已存在,存在就 不让投票。
      

  2.   

    记录人家的IP和用户名保险点,通过陆游器的IP是可以变的。更好的办法就是,你把他网卡的物理地址记咯,随他怎么改IP都冒办法刷
      

  3.   

    楼上的办法应该是行不通的,没有特殊的方法,你是不能获取客户的MAC地址的,特殊的方法就我所知,一般是用activex实现的,但这需要客户信任你,同意安装这个东西。有个方法,你可以在投票后,给客户端写个cookie,里面放上投票时间等信息,根据这些信息应该可以了。
      

  4.   


    用cookie也有漏洞啊, 清除掉cookie又能投了. 不过很少有人会去清楚cookie.
    服务器记录ip + 客户端cookie的方法
      

  5.   

     现在的问题就是人家拨一次号,ip就变了,就又可以投票了。服务器记录ip + 客户端cookie的方法,ip和cookie都有空子给人家钻。难道就没有好的处理方法吗?
      

  6.   

    验证码-ip-cookie,除了这三个,没有了。当然你还可以复杂点,要求对方注册才可以投票。另外一个办法,让他输入一段主观的文字,,最后你有权利根据这些文字来判断是否有效票。
      

  7.   

    限制IP,时间段,cookie加个验证码
    比如汉字或者1+1等于几之类的简单计算这个东西没有绝对的安全~~~
      

  8.   

    是啊,除了验证码,IP,cookies,就是让对方注册了。
    除此好像没什么好的方法来预防
      

  9.   

    同一个ip+cookie+验证码来分辨一次有效的投票。
    但是不要告诉用户他的投票实质上是不是有效。
    既然技术手段上做不到杜绝假票,你可以尝试社会工程学。
    你给用户一个他们可以投很多票的假相,而实际上你已经暗中区分出来哪些是无效的票,但是你不要直接告诉他们
      

  10.   

    同用MAC地址分辩有效的投票。 
      

  11.   

    验证码加了。
    ip可以拨一次号就改变;
    cookie可以删除,再投票;
    mac不容易获取,至少到目前我的水平不会获取客户端的mac。
      

  12.   

    mac也可改 只需要修改注册表里的一项 就可以了
      

  13.   

    网络上投票怎么能只投一次呢
      假如我在网吧
     IP是不变的
    假如A下机了并且A也投票了
    现在B来上机了想投票结果不能投了
     你是不是剥夺了B的投票权利了呀
         在网络上没有绝对的安全
      

  14.   


     不使用第三方插件无法彻底杜绝类似重复投票,你如果非要别人一台PC机投一票或指定时间投一票必须对客户端做个ID标志,比如在投票用户的注册表里插入一个值。
    由于网络安全问题,不在客户端安装第三方插件无法进行上述操作,也无法获取用户的网卡等相关信息。
    还有一种方式就是利用客户端的漏洞强制操作客户端的注册表,那就是黑客入侵了
      

  15.   


    这个家伙有创意!那就仅加一个验证码,把IP限制和Cookie限制在后台处理,就让用户傻傻地刷票吧。
    我通常建议人家刷票也是这样说的:再次投不行,重新拨号换IP,还不行,删Cookie再投。
      

  16.   

    这个真的很无解啊~已经用了cookie + ip,验证码和注册才能投,这两项没加,老大说怕影响用户体验~然后就是意料中的刷票,算了不管他了,反正还有50%靠所谓的评委选举其实都是内定的,老大还让我后台搞个页面让内定的人能人工加票
      

  17.   

    前提是首先排除程序本身固有漏洞,比如form验证是否完整,是否禁止了外部域名或ip地址或本地提交等。cookie是客户端的东西根本靠不住。
    ip也不靠谱,可以花钱买到。
    验证码对机器来讲很困难识别,但是可以雇人来识别,识别1个给二分钱你觉得有没有人会干呢?这无非是提高了一点刷票的成本但总有人支付得起。
    改手机投票?20万买手机买卡号买充值卡雇人发够不够?就我所了解到的一些情况,网上投票很多都是扯淡的。我可能扩大了一点刷票概念的范畴。广义看待刷票这个问题的时候,你会发现这不是程序的问题,而是人的问题。所以,想仅仅从程序方面来禁止人的问题是不可能的。
      

  18.   

    TNND  笑死我了其实防止重复刷票很简单,让他登陆不就得了
      

  19.   

    使用cookie再加个注册并且注册后XX小时才可以投票然后利用验证码等手段如何?这样即使刷票者注册了N个ID然后在XX小时之后投,他能记住多少个ID?
    还有写个过滤器,对差不多ID命名方式的ID注册提示用户该ID已被注册,看刷票者死了没~
      

  20.   

    匿名投票本质上是不可能控制的,因为你永远不知道上一个投票的是谁!
    伪控制方法:
    1、检验IP,动态IP问题(更换IP),代理服务器问题(共用IP),几乎不可行
    2、Cookie,较可行,但是可以清除Cookie
      

  21.   

    1、检验IP
    2、Cookie
    3.mac地址绑定
    4.登陆注册,这招我看最管用,大部分人不愿意,呵呵
      

  22.   

    刷票主要是防止自动刷票机刷票,用复杂认证码就行了,并限制一下每个IP只能投一次,至于象ADSL断线重拨的方式是没什么很有效的办法限制的,不过用户要是断一次拨一次,投100票也要不少时间吧?
      

  23.   

    1、检验IP 
    2、Cookie 
    3.登陆注册,注册时随机要求输入数字、回答问题等。
      

  24.   

    世上没有绝对解决办法,连微软都在不停的出补丁呢,以上说的都是很好的解决办法,但是楼主要万无一失的就很难了,我曾经做过的投票被n多人刷,那次是我见过最恐怖的一次,cookie,ip,验证码,基本上能解决95%的问题,当然那5%还没有出现,如果出现了再想办法解决!
      

  25.   

    当然是登陆了
    开发activex不是一般人能做的
      

  26.   

    有一种技术是针对投票系统的,是acegi安全。里面可以设置一些配置
      

  27.   

    建个永久Cookie
    把用户信息存进去
      

  28.   

    应该是不太可能的吧?不管是cookie,验证号,ip都没法绝对的......
    如果真要想办法的话,就是写木马,获得投票人的硬盘SN和CPU SN,这样就差不多了,总不见得投次票还换次硬盘,CPU吧.呵呵...我这纯属开个玩笑啦,不要介意~说真的,网络投票要让用户不能重复投票好像没什么好的办法,听说过有人用FLASH做得投票系统,利用FLASH ActiveX控件的内核,来获得用户的系统SN来防止刷票,但我这也只是一个听说....一个传闻.....
      

  29.   

    记录访问者电脑的名字就可以啦+IP+COOKIE+验证码,很简单的处理方式,投票者不会不断更换电脑名字吧
    电脑名字可以程序获取的
      

  30.   

    验证码+COOKIES都不是很保险,最好是搞个收费的(而且收费很高,没人愿意转让那种,使用一次收个万把块那种)浏览器插件,然后把插件安全做到好得不能再好,并且与手机,身份证,甚至是公安局的某些资料绑定。专门用来记录投票是否重复。
    好吧,我承认,我是在搞笑。
    最好的办法就是不让用户投票!那样绝对没有重复! 
      

  31.   

    如果你是记会员投票,记录会员就行了,如果是guest用户,那只能说不太现实,楼上也说了,需要active支持...
      

  32.   

    个人觉得还是:
    1.IP地址验证
    2.同一session与时间段验证
    3.验证cookie 
    4.加个验证码,比如汉字或者1+1等于几之类的简单计算 
    这四项做到基本可以了!
    任何东西是没有绝对的安全的!