如何prevent游戏一个投票系统,人们可以每天投一次票?投票系统、游戏、prevent

2023-09-11 06:47:31 作者:堂堂一跑堂

我已经实现了一个投票系统,在线视频,其中,游客不仅可以在任何一天投票一次。我用自己的电子邮件地址和时间戳的组合保证了每张选票是唯一的那一天。

I've implemented a voting system for videos online, wherein visitors can only cast a vote once in any given day. I use combination of their email address and timestamp to ensure that each vote is unique for that day.

您可能已经猜到,这是导致人们通过在mailinator.com之类的一次性注册电子邮件地址,游戏的系统,所以我想知道如果任何人试图实施任何其他投票算法,允许多张选票由同一人。此外,这种设置意味着,如果一个视频#1具有与它相关比视频#2人越多,视频#1已经处于不公平的优势。

As you might guess, this lead to people gaming the system by registering throwaway email addresses at mailinator.com and the like, so I'm wondering if anyone's tried implementing any other voting algorithms that allow for multiple votes by the same person. In addition, this setup means that if a video #1 has more people associated with it than video #2, video #1 is already at an unfair advantage.

我在思考一个排名系统,但我不完全知道如何可能prevent任何人使用虚假的电子邮件地址,游戏系统。我想解决的问题是这样的:

I'm thinking about a ranked system, but I'm not totally sure how that could prevent anyone from gaming the system with fake email addresses. The problem I'm trying to solve is like this:

由于3视频,A,B和X的A有5人在里面,B有2个,和X有4   假设X是三个最好的视频,而且人们可以投票每一天,有一个投票系统,这将有助于B上升到顶部?

Given 3 videos, A, B and X. A has 5 people in it, B has 2, and X has 4. Assuming that X is the best video of the three, and that people can vote every day, is there a voting system that will help "B" rise to the top?

就像我说的,我在我提出的排名系统,将断定,如果#2量的数量超过了#1的,它的安全承担的的应该是赢家,但似乎不完全的。

Like I said, I my proposed ranked system, would posit that if the amount of #2's outnumber the #1's, it's safe to assume that should be the winner, but that seems incomplete.

有没有人解决类似这样的事情之前?请记住,这些都是pretty的低量的结果(我们平均约500票/ 7天),所以2人能真正有所作为。

Has anyone tackled anything like this before? Keep in mind, these are pretty low volume results (we average about 500 votes/7 days), so 2 people can really make a difference.

这是一盏灯(PHP)栈中的一个共享的主机环境中,如果它帮助。

This is on a LAMP (PHP) stack in a shared hosting environment, if it helps.

另外,如果你想知道为什么我们允许多张选票由同一人,这是因为较高的UPS意识到这有助于推动网站流量,他们真的喜欢看到图上(尽管后来的事实点击率是pretty的意义)。

Also, if you're wondering why we're allowing multiple votes by the same person, it's because the higher ups realize this helps drive traffic to the site, and they really enjoy seeing graphs go up (despite the fact the subsequent hits are pretty meaningless).

在此先感谢,如果您需要任何其他信息,请让我知道。

Thanks in advance, and if you need any other information please let me know.

推荐答案

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

You're actually asking about two separate things:

首先,你怎么能prevent人的游戏系统?这是pretty的顽固性。您可以提高标准用于放置表决,通过要求注册,像这样一个最小的声誉,或其他限制,但最终你能希望做的是减少作弊,而不是消除它。考虑到人成功注册多次物理政治选举,然后评估其可能性有多大,你可以消除所有欺骗你的网站。

First, how can you prevent people gaming the system? This is pretty intractable. You can raise the bar for placing a vote, by requiring registration, a minimum reputation like SO, or other restrictions, but ultimately all you can hope to do is reduce cheating, not eliminate it. Consider that people successfully register multiple times for physical political elections, then evaluate how likely it is that you can eliminate all cheating on your site.

二,你怎么给一个公平的质量等级到可能有不同的流行,并已出现了不同的时间不同的项目?一个非常好的解决方案是描述这里由兰德尔门罗。该文章链接到实际的算法,这是非常简单的实现。

Second, how do you give a fair quality ranking to different items that may have different popularity and have been around for different times? One very good solution is described here by Randall Munroe. That article links to the actual algorithm, which is fairly straightforward to implement.