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: 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.