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