Php 如何防止人们在一个每天可以投票一次的投票系统中玩游戏?

Php 如何防止人们在一个每天可以投票一次的投票系统中玩游戏?,php,algorithm,lamp,ranking,voting-system,Php,Algorithm,Lamp,Ranking,Voting System,我已经实现了一个在线视频投票系统,访问者在任何一天只能投一次票。我使用他们的电子邮件地址和时间戳的组合来确保那天的每一张选票都是唯一的 正如你可能猜到的,这会导致人们通过在mailinator.com等网站注册一次性电子邮件地址来玩这个系统,所以我想知道是否有人尝试过实现任何其他允许同一个人进行多次投票的投票算法。此外,这种设置意味着,如果一个视频#1与之相关的人数多于视频#2,那么视频#1已经处于不公平的优势 我正在考虑一个排名系统,但我不完全确定如何防止任何人用虚假的电子邮件地址玩这个系统。

我已经实现了一个在线视频投票系统,访问者在任何一天只能投一次票。我使用他们的电子邮件地址和时间戳的组合来确保那天的每一张选票都是唯一的

正如你可能猜到的,这会导致人们通过在mailinator.com等网站注册一次性电子邮件地址来玩这个系统,所以我想知道是否有人尝试过实现任何其他允许同一个人进行多次投票的投票算法。此外,这种设置意味着,如果一个视频#1与之相关的人数多于视频#2,那么视频#1已经处于不公平的优势

我正在考虑一个排名系统,但我不完全确定如何防止任何人用虚假的电子邮件地址玩这个系统。我试图解决的问题如下:

给定3个视频,A、B和X。A有5个人,B有2个人,X有4个人。
假设X是三个视频中最好的一个,而且人们每天都可以投票,那么有没有一个投票系统可以帮助“B”登上榜首

正如我所说,我提议的排名系统假设,如果2的数量超过1,那么可以安全地假设应该是赢家,但这似乎是不完整的

以前有人处理过类似的事情吗?请记住,这些结果的数量非常少(我们平均每7天大约有500张选票),因此两个人可以真正发挥作用

如果有帮助的话,它位于共享托管环境中的LAMP(PHP)堆栈上

此外,如果你想知道为什么我们允许同一个人进行多次投票,那是因为高层意识到这有助于提高网站的访问量,他们真的很喜欢看到图表上升(尽管后续的点击率毫无意义)


提前谢谢,如果您需要任何其他信息,请告诉我。

没有登录系统,您的问题就没有解决方案。人们会不断击败你的系统,除非你为他们提供一个真正的身份验证系统,该系统需要几个步骤来创建一个帐户。顺便说一句,OpenID在这方面很好

不要使用大量基于cookie的东西(尤其不要使用Evercookie)。这是对用户隐私的侵犯。我永远都不想在我的电脑上放一个僵尸饼干

如果他们继续和你玩游戏,除了手动标记垃圾帐户和删除相应的投票之外,你什么也做不了

或者,您可以使用基于声誉的系统,只需要最少的代表投票(如StackOverflow)


查看是否需要快速安全的工作解决方案。

没有登录系统,您的问题就没有解决方案。人们会不断击败你的系统,除非你为他们提供一个真正的身份验证系统,该系统需要几个步骤来创建一个帐户。顺便说一句,OpenID在这方面很好

不要使用大量基于cookie的东西(尤其不要使用Evercookie)。这是对用户隐私的侵犯。我永远都不想在我的电脑上放一个僵尸饼干

如果他们继续和你玩游戏,除了手动标记垃圾帐户和删除相应的投票之外,你什么也做不了

或者,您可以使用基于声誉的系统,只需要最少的代表投票(如StackOverflow)


看看你是否想要一个快速安全的工作解决方案。

网上有一个问答平台--不知道你是否听说过--它叫stackoverflow.com;-)


也许你可以在这个网站上采用评级系统?我发现只允许具有给定评级的用户以几种方式操纵系统是非常聪明的。您可以根据用户帐户的年龄(例如,注册后两周内的票数)或某种信誉系统来选择用户。

网上有一个问答平台——不知道您是否听说过——它叫stackoverflow.com;-)


也许你可以在这个网站上采用评级系统?我发现只允许具有给定评级的用户以几种方式操纵系统是非常聪明的。您可以根据用户帐户的年龄(例如,注册后两周内的计票)或某种信誉系统来选择用户。

您实际上是在询问两件不同的事情:

首先,你如何防止人们玩这个系统?这是相当棘手的。你可以提高投票的门槛,通过要求注册、这样的最低声誉或其他限制,但最终你所能希望做的就是减少作弊,而不是消除作弊。考虑到人们多次登记进行物理政治选举,然后评估你可以消除你网站上所有作弊的可能性。


第二,你如何给不同的物品一个公平的质量排名,这些物品可能有不同的流行度,并且已经存在了不同的时间?Randall Munroe描述了一个非常好的解决方案。这篇文章链接到了实际的算法,它的实现相当简单。

您实际上是在问两个不同的问题:

首先,你如何防止人们玩这个系统?这是相当棘手的。你可以提高投票的门槛,通过要求注册、这样的最低声誉或其他限制,但最终你所能希望做的就是减少作弊,而不是消除作弊。考虑到人们多次登记进行物理政治选举,然后评估你可以消除你网站上所有作弊的可能性。


第二,你如何给不同的物品一个公平的质量排名,这些物品可能有不同的流行度,并且已经存在了不同的时间?Randall Munroe描述了一个非常好的解决方案。那篇文章链接到了实际的算法,它的实现相当简单。

听起来像是一个很好的应用。@jnpcl:这些东西应该被禁止。改用真正的登录系统(或使用OpenID),句号:@Ale