Unless you make users log in first there is no way to stop duplicate voting, you can just make it harder.
Some sites will stop the same IP address from making a vote twice, this however is fraught with problems.
I would suggest for simplicity that you make the voting page a php script (and hence dealing with the refresh issue) and record the ip or some other fairly unique server variable of the voter and not let them vote again within a specific period.
This is not foolproof but will make it more of a pain for anyone duplicating votes.
You could also try setting a cookie on the users machine, but this would be easy to bypass if they wanted to.