Basically, I want my users to vote on video--but not vote more than once. The way I currently see it, there are three ways of doing this, each with its own flaws.
1) Cookies! Don't let them vote if a cookie already exists. Only problem with that is that it's common knowledge that clearing your cookies will let you vote again, and again, and again. I have no doubt that there are many scripts/macros that do this automatically, which would obviously screw things up for me very sadly.
2) IP Addresses! This is all well and good, except that they are prone to changing--and changing often. This would lead to all kinds of sadness.
3) Login system! Probably the best option. Only let every account do it once. The terrible issue here is that people hate registering, and to register just to freaking vote is a pain. Especially when the entire application I'm developing is based around people's desire to vote on something they just saw.
So, basically, I'm screwed. It's pretty important that people don't abuse the system, i.e. scripts/macros, but it's also important for people to want to vote, and not be driven away by a registration form. I guess I could include some type of CAPTCHA to prevent the script issue--but it's unheard of to do so to vote.
So, I ask you, my fellow (and very probably superior) developers, are there any other options? I understand this as an inherent flaw/issue that results from the statelessness of web protocol. I just so desperately want a better way to get around it--although, I cant' think of anything else. That is, which doesn't include some atrociously invasive ActiveX or Java to get the user's MAC address.
I put this in the Security forum, as I believe that preventing users from manipulating the system (i.e. vote a thousand times) is a security issue. Please move if I judged poorly.
@onion2k: I'll try to refrain from pressing submit five times again