views:

314

answers:

4

Voting contests seem to gain a lot of attention from people who want to game a system for fun. I know I spend a good amount of time fooling around with their forms and URLs, deleting cookies and writing the occasional crappy script.

Is there a way to create a foolproof voting system that only allows one vote a day? Is Captcha the only effective way of deterring automated voting? How have you gone about solving this problem? Some of my thoughts on solutions are to track IPs or require an email, but even these seem like they're easily circumvented.

A: 

I'm not sure Captchas are good enough anymore. Didn't 4chan circumvent Recaptcha and other spam prevention methods for the NYT Top People pole?

jfar
No. See http://musicmachinery.com/2009/04/15/inside-the-precision-hack/
Brian
They tried to circumvent it, but ultimately did not. They thought they could alter how ReCaptcha recognized words in the system, but it was refuted by a ReCaptcha administrator. You can, however, purchase a thousand captcha solutions from a human for something like $3.
Dean Putney
+2  A: 

A: Associate each vote with an ip. Automated proxy-based voting is non-trivial. Getting 10-20 votes per day this way is easy, though. And getting 1000s of independent ip addresses for voting is harder (though doable through commercial anonymizer services).

B: Use ReCaptcha.

C: Do not display up to date results. It should not be easy for people to determine if their vote did anything.

Brian
+1  A: 

There is no simple way that will completely stop people from voting multiple times a day if they really want to.

Captcha are only useful for stopping bots. A human at a computer will simply go through (as it should).

Cookies can be easily deleted by people with a minimum of knowledge.

Tracking IPs is probably the most efficient way to slow people down, but possibly the hardest to implement. It too can be circumvented by someone who knows how to change his IP address.


In the end, all you can really do is make the task of messing with your poll result as difficult as possible.

Alex Brault
+1  A: 

Making a just for fun voting system foolproof would most likely necessarily spoil it. My advice is simply not to provide an accurate feedback channel! If you provide feedback on the acceptance of a vote - show intermediate totals WITH duplicates so that people think their extra votes are counting.

With this method people don't think they need to resort to additional creativity to submit additional votes.

Einstein
Oooo, sneaky. Let them think their vote counted, but actually don't count it through even something as simple as a cookie blocker. That's a brilliant solution to the problem that makes the voters happy and gets an accurate voting result!
Dean Putney