How to prevent multiple votes in polls of the rate module?
The rate module hasn't built support for this. If you wanted to do this, your best option would be to


Deny duplicate votes, it's up to you to decide how, but you could check the voting api table which stores the IP addresses of all who have voted then use rate_vote_alter hook. Doing it this way would make it impossible to change the vote.
The other option is to use rate_vote_alter to stop the rate module from saving votes and do it yourself with votingapi_set_votes. That would make it possible to set criterias for which (old) votes should be deleted.


This could have been done easier if the rate module was built more flexible. You could consider making an issue and a patch for the rate module, to add this feature for others to use.

Update:
The alter hook is not defined anywhere, but done with drupal_alter('rate_vote', $votes, $context). This means you should be able to do:

function my_module_rate_vote_alter(&amp;$votes, $context) {
  ..
}