我已经实现了在线视频投票系统,其中访客只能在任何一天投票一次。我使用他们的电子邮件地址和时间戳的组合来确保每一次投票在当天都是唯一的。如何防止游戏投票系统,人们可以每天投票一次?
正如你可能猜到的,这导致人们通过在mailinator.com等网站上注册一次性电子邮件地址来游戏系统,所以我想知道是否有人试图实现任何其他投票算法,允许多个选票相同人。另外,这种设置意味着如果视频#1与视频#2相比拥有更多的人,则视频#1已经处于不公平的优势。
我在考虑排名系统,但我不完全确定如何防止任何人使用虚假的电子邮件地址来游戏系统。我试图解决的问题是这样的:
鉴于3个视频,A,B和X的有5人在里面,B具有2和X具有4
假设X是三人中最好的视频,人们可以每天投票,是否有投票系统可以帮助“B”崛起?
就像我说的,我在我的建议排系统,会断定,如果#2量的数量超过了#1,它是安全的假设是应该成为最后的赢家,但似乎不完整的。
有没有人处理过这样的事情?请记住,这些结果相当低(我们平均约500张/ 7天),所以2人真的可以有所作为。
这是在共享主机环境中的LAMP(PHP)堆栈上(如果有帮助)。另外,如果您想知道为什么我们允许同一个人进行多次投票,那是因为上级意识到这有助于推动网站流量,并且他们非常喜欢看到图表上升(尽管事实上后续的命中是相当无意义的)。
在此先感谢,如果您需要任何其他信息,请让我知道。
听起来像[EverCookie](http://en.wikipedia.org/wiki/Evercookie)的良好用法。 – drudge 2011-04-11 18:01:41
@jnpcl:这些东西应该被禁止。改为使用真实的登录系统(或使用OpenID)。 – 2011-04-11 18:08:42
@亚历山大:道歉,讽刺在文字中丢失。我应该添加一个笑脸。 ;) – drudge 2011-04-11 18:17:25