use the ip as the primary key of a 2-col poll table.
the vote is an integer 0-5 or whatever.
i use zero here to 'cancel' a vote for a given ip. looks like #2 is winning...
in this way, someone can update their vote, but they can't vote more times than you can reasonably screen against without sign-in.
yes, they can vote at the coffee shop, on their phone, and at work, but they can't sit there and vote 500 times in a row...
BROWSER STATS [% share]
(2013/10/31) IE7:0.5, IE8:8.6, IE9:5.3, IE10:12.3, FF:17.7, CH:41.8, SF:8.1, MOBILE:20.4