投票系统如何防止刷票



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


如果你一个问题,给 40 分,回答的人更多。

记录访问者的IP,存储起来,用户每次访问的时候,判断此IP 是否已存在,存在就 不让投票。
------
给每个投过票的用户ip置个标志位就好了。然后判断
------
记录人家的IP和用户名保险点,通过陆游器的IP是可以变的。

更好的办法就是,你把他网卡的物理地址记咯,随他怎么改IP都冒办法刷
------
楼上的办法应该是行不通的,没有特殊的方法,你是不能获取客户的MAC地址的,特殊的方法就我所知,一般是用activex实现的,但这需要客户信任你,同意安装这个东西。

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

有个方法,你可以在投票后,给客户端写个cookie,里面放上投票时间等信息,根据这些信息应该可以了。

------
现在的问题就是人家拨一次号,ip就变了,就又可以投票了。

服务器记录ip + 客户端cookie的方法,ip和cookie都有空子给人家钻。

难道就没有好的处理方法吗?
------
限制同一个ip的点击数
------
验证码-ip-cookie,除了这三个,没有了。当然你还可以复杂点,要求对方注册才可以投票。

另外一个办法,让他输入一段主观的文字,,最后你有权利根据这些文字来判断是否有效票。


------
有办法,匿名投票吧
你其实就是要限制1台电脑投一次,而不是一个人投一次,对吧?
------
限制IP,时间段,cookie

加个验证码
比如汉字或者1+1等于几之类的简单计算

这个东西没有绝对的安全~~~
------
只能做到相对的客观,不可能做到绝对准确。任何方法都是有漏洞的。不过只是攻破漏洞的代价高低而已。

这种问题,主要是要防止机器自动不断投票,它才是最大的敌人。
------
其实技术上只是一方面。
我见过一个政府网站评选什么十大标兵的网上投票活动,简直是丑态百出。侯选人都到处找高手用程序来自动刷票。

而该程序的编制者则更绝,你不是会自动刷票吗,我就直接和侯选人联系索要好处再改数据库提升排名。看谁厉害。
------
其实技术上只是一方面

同意ls
------
IP+Mac
------
引用 8 楼 jinjazz 的回复:
验证码-ip-cookie,除了这三个,没有了。当然你还可以复杂点,要求对方注册才可以投票。

另外一个办法,让他输入一段主观的文字,,最后你有权利根据这些文字来判断是否有效票。

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

都不知下面两个是在哪混的,还有一个居然是星的.

引用 3 楼 sjm2003 的回复:
记录人家的IP和用户名保险点,通过陆游器的IP是可以变的。

更好的办法就是,你把他网卡的物理地址记咯,随他怎么改IP都冒办法刷

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

------
其实没有完全防止作弊的方案,选一个合适你自己的方法吧!
------
穿透代理,获取用户真实ip就行了。
------
验证码加了。
ip可以拨一次号就改变;
cookie可以删除,再投票;
mac不容易获取,至少到目前我的水平不会获取客户端的mac。
------
mac也可改 只需要修改注册表里的一项 就可以了
------
网络上投票怎么能只投一次呢
  假如我在网吧
 IP是不变的
假如A下机了并且A也投票了
现在B来上机了想投票结果不能投了
 你是不是剥夺了B的投票权利了呀
  在网络上没有绝对的安全
------
引用 16 楼 oyd 的回复:
同一个ip+cookie+验证码来分辨一次有效的投票。
但是不要告诉用户他的投票实质上是不是有效。
既然技术手段上做不到杜绝假票,你可以尝试社会工程学。
你给用户一个他们可以投很多票的假相,而实际上你已经暗中区分出来哪些是无效的票,但是你不要直接告诉他们

------

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

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

------
路過學習。。。。
------
学习了
------
xuexi
------
没有绝对的,只有相对的
------
这个真的很无解啊~

已经用了cookie + ip,验证码和注册才能投,这两项没加,老大说怕影响用户体验~

然后就是意料中的刷票,算了不管他了,反正还有50%靠所谓的评委选举

其实都是内定的,老大还让我后台搞个页面让内定的人能人工加票。。。。。。。。。
------
设置一个长达1000位的验证码,让他刷啊,累死他
------
sdfsadfsadfsadfasdf
------
支持34楼
------
前提是首先排除程序本身固有漏洞,比如form验证是否完整,是否禁止了外部域名或ip地址或本地提交等。

cookie是客户端的东西根本靠不住。
ip也不靠谱,可以花钱买到。
验证码对机器来讲很困难识别,但是可以雇人来识别,识别1个给二分钱你觉得有没有人会干呢?这无非是提高了一点刷票的成本但总有人支付得起。
改手机投票?20万买手机买卡号买充值卡雇人发够不够?

就我所了解到的一些情况,网上投票很多都是扯淡的。我可能扩大了一点刷票概念的范畴。广义看待刷票这个问题的时候,你会发现这不是程序的问题,而是人的问题。所以,想仅仅从程序方面来禁止人的问题是不可能的。
------
引用 34 楼 hoyou 的回复:
设置一个长达1000位的验证码,让他刷啊,累死他

------
引用 34 楼 hoyou 的回复:
设置一个长达1000位的验证码,让他刷啊,累死他

------
使用cookie再加个注册并且注册后XX小时才可以投票然后利用验证码等手段如何?

这样即使刷票者注册了N个ID然后在XX小时之后投,他能记住多少个ID?
还有写个过滤器,对差不多ID命名方式的ID注册提示用户该ID已被注册,看刷票者死了没~
------
匿名投票本质上是不可能控制的,因为你永远不知道上一个投票的是谁!
伪控制方法:
1、检验IP,动态IP问题(更换IP),代理服务器问题(共用IP),几乎不可行
2、Cookie,较可行,但是可以清除Cookie
------
1、检验IP
2、Cookie
3.mac地址绑定
4.登陆注册,这招我看最管用,大部分人不愿意,呵呵
------
每次投票时记住其IE地址栏中的地址,然后判断!
------
身份证
------
身份证+名字
------
哈哈!这样大家都不用再投了,看还有人来刷没有!
------
你别告诉我你是匿名投票奥
------
既然这样,实名制绑定,身份证验证好了
纵然能搞来很多身份证,反正中国十几亿人呢,有钱就买呗
什么都防不住的,何况投票这种事情,在中国,你相信投票吗???
------
我也觉得注册+IP+验证码,比较好。
------
在现在网上的投票系统中,如果一个人换了IP来登陆,是可以无限次投票的
如果你不想这么做,那么最好就是得注册,登陆后才能投票,这样投票的时候验证这个用户是否已进行了投票

但是这样还是可以重复投票的,没有绝对的
------
刷票主要是防止自动刷票机刷票,用复杂认证码就行了,并限制一下每个IP只能投一次,至于象ADSL断线重拨的方式是没什么很有效的办法限制的,不过用户要是断一次拨一次,投100票也要不少时间吧?
------
如果是不计名投票,加图片验证码就可以了。
------
mark
------
kankan
------
引用 10 楼 lovefootball 的回复:
限制IP,时间段,cookie

加个验证码
比如汉字或者1+1等于几之类的简单计算

这个东西没有绝对的安全~~~

------
太难了
------
把楼上所有哥们的方法一起用,普通投票人就哭死了 -_-
又是注册 又是验证码过期 还要身份证号码。。只是为了投一票 咋就这么难
------
不要真的搞的太复杂了,要是搞复杂了,
如果是我,宁愿不投。
------
gz
------
不久一个投票嘛,何必那么在意
------
难啊
------
mark...
------
我也支持三十四楼,哈哈,不过这样子的话,投票的人可能就没有了,哈哈``
------
不登陆实名的话就无法绝对防治刷票
------
1、检验IP 
2、Cookie 
3.登陆注册,注册时随机要求输入数字、回答问题等。
------
世上没有绝对解决办法,连微软都在不停的出补丁呢,以上说的都是很好的解决办法,但是楼主要万无一失的就很难了,我曾经做过的投票被n多人刷,那次是我见过最恐怖的一次,cookie,ip,验证码,基本上能解决95%的问题,当然那5%还没有出现,如果出现了再想办法解决!
------
当然是登陆了
开发activex不是一般人能做的
------
引用 27 楼 viena 的回复:
在线投票系统不可能防止刷票~

------
有一种技术是针对投票系统的,是acegi安全。里面可以设置一些配置
------
建个永久Cookie
把用户信息存进去
------

网上投票的限制 最主要的该是在验证码的验证了吧
验证马越复杂越好,最好能带有计算型、包含的
其次是单个IP限制
------
验证MAC地址就可以了。
------
引用 34 楼 hoyou 的回复:
设置一个长达1000位的验证码,让他刷啊,累死他

------
应该是不太可能的吧?不管是cookie,验证号,ip都没法绝对的......
如果真要想办法的话,就是写木马,获得投票人的硬盘SN和CPU SN,这样就差不多了,总不见得投次票还换次硬盘,CPU吧.呵呵...我这纯属开个玩笑啦,不要介意~

说真的,网络投票要让用户不能重复投票好像没什么好的办法,听说过有人用FLASH做得投票系统,利用FLASH ActiveX控件的内核,来获得用户的系统SN来防止刷票,但我这也只是一个听说....一个传闻.....
------
引用 34 楼 hoyou 的回复:
设置一个长达1000位的验证码,让他刷啊,累死他

------
你当人家都是傻子么
------
给楼主一个思路~

你不要限制刷票

但是自己后台要检测是否有刷票倾向

如果有,某选项多刷一票 ,别的选项就自动刷2票上去

让他刷好了



------
记录访问者电脑的名字就可以啦+IP+COOKIE+验证码,很简单的处理方式,投票者不会不断更换电脑名字吧
电脑名字可以程序获取的
------
你说这个世界什么是真的呀
  处了你自己(有些还不一定)
  还是个网上投票还不让刷票
lz 你的很有味了
  你怎么不去看下中国的福利彩票是不是真的
 我告诉你那也是假的。
   
  前一段时间不是流行:《色戒》告诉我们男人不可信,《投名状》告诉我们兄弟不可信,《集结号》告诉我们组织更不可信。

  说不定你们领导还要你给那个选手加票了(这是很有可能的因为在中国这样的可能要大于其他一些国家)
------
引用 8 楼 jinjazz 的回复:
验证码-ip-cookie,除了这三个,没有了。当然你还可以复杂点,要求对方注册才可以投票。

另外一个办法,让他输入一段主观的文字,,最后你有权利根据这些文字来判断是否有效票。

------
投票时候记录一次。
验证设置问题为投票的内容,这次又记录一次。
如果不一致视为无效票。。。
------
防君子不防小人
------
不要太相信绝对无漏洞
------
验证码+COOKIES都不是很保险,最好是搞个收费的(而且收费很高,没人愿意转让那种,使用一次收个万把块那种)浏览器插件,然后把插件安全做到好得不能再好,并且与手机,身份证,甚至是公安局的某些资料绑定。专门用来记录投票是否重复。
好吧,我承认,我是在搞笑。
最好的办法就是不让用户投票!那样绝对没有重复!
------
呃,在投票的时候还要注明请不要刷票,然后再加上追究这样那样责任的说明,并且一经发现严格实施,告不到他四肢不全也要告到他心惊肉跳那种- -
还是那句话,最好的办法就是不让用户投票!那样绝对没有重复!
------
如果你是记会员投票,记录会员就行了,如果是guest用户,那只能说不太现实,楼上也说了,需要active支持...

------
个人觉得还是:
1.IP地址验证
2.同一session与时间段验证
3.验证cookie 
4.加个验证码,比如汉字或者1+1等于几之类的简单计算 
这四项做到基本可以了!
任何东西是没有绝对的安全的!
------
我在思考孟子推荐这个贴子的真正意图。
------
引用 90 楼 sxlfybb 的回复:
我在思考孟子推荐这个贴子的真正意图。

------
没办法,因为现在刷票的都有本钱,可以用肉鸡刷,一次刷几十万,也可以设置慢慢刷~
最好的办法的当面投票~
------
没有绝对有效的办法,一般也只能设置一个时间段内不能重复投票,如果是匿名的话.
------
引用 12 楼 bwangel 的回复:
其实技术上只是一方面。
我见过一个政府网站评选什么十大标兵的网上投票活动,简直是丑态百出。侯选人都到处找高手用程序来自动刷票。

而该程序的编制者则更绝,你不是会自动刷票吗,我就直接和侯选人联系索要好处再改数据库提升排名。看谁厉害。

------
引用 38 楼 cancerser 的回复:
引用 34 楼 hoyou 的回复:
设置一个长达1000位的验证码,让他刷啊,累死他

TNND 笑死我了

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

------
要想防止多投,除非提取指纹。不过就算提取指纹,下一步一样会有伪造指纹的技术,就像现在造假身份证一样。
------
获取对方机器名和IP,提交后反馈只是成功与否.
------
MAC地址 + cookie
------
up
------
引用 7 楼 tianqining 的回复:
限制同一个ip的点击数

桂ICP备07017180号