Welcome Guest, Not a member yet? Register   Sign In
Open voting system?
#1

[eluser]carllawll[/eluser]
Ok, I'm trying to make a voting system (like/dislike) that can be used publically without an account, I set it up using IPs but then realised that it wouldn't be usable because of dynamic ips and networks.

I did a bit of research and found out a better way would be to set a cookie, the only problem is, theyre easily deletable, so I was wondering if anyone knew a way to use both ip and cookie to help reduce mass voting by deleting cookies.

(The painful thing is my site is based on uni students, so 90% will all go through the uni network completely ruling out an ip based system)
#2

[eluser]Aken[/eluser]
Are you certain that they'll have the same IP, even on the same university network? I'd verify that, since it might still be a somewhat viable option.

Without some sort of unique user identifier, sessions/cookies and IP-based rules are your best options. You could go further into trying to identify a unique user by things like user agent or other identifiers, but those can all be faked as well if truly desired.

Another thing you'll want to watch out for with a public voting system is preventing spam / bot votes. A typical hidden field scenario would likely help with that significantly.

I don't have any practical examples to back these up, but here are a few ideas that pop into mind. A couple require extra steps, but are helpful in keeping voting accurate.

1) Use basic cookie/IP checking, and assume your users are fairly reputable. You can always log submissions and such to keep an eye on naughty people.

2) Require an email to vote. After they vote, send them a confirmation email. Once they click the confirm link, their vote is counted. You now have their email to prevent duplicates, and since they require actually confirming the vote, people can't use any old BS email they want. Potential caveat here: some email clients (Gmail included) allow you to manipulate your email, but have it still come to your account. example@gmail & example+flag@gmail are the same thing, but will show up as different to your records. This is another step for the user, but is more accurate without needing to register for an account (depending on your website, you could even give them the option of signing up in this confirmation email).

3) Similar to needing an actual account, you could give users the option to sign in using Facebook, Twitter, or other common login that's popular with your user base.




Theme © iAndrew 2016 - Forum software by © MyBB