а можно поступить хитрее, кука + ip, если кука стоит - в лес голос, в случае совпадения ip - сохраняем, можем даже временно засчитывать.
В таблице с голосами хранить timestamp, referer (откуда пришли на страницу), ip ну и еще что нужно.
Ну а дальше (ночью к примеру) анализ таблицы на предмет близости времени голоса, ну и рефов в отдельный админский список.
Ес-но, если знать, что алгоритм такой - обойти легко, но как правило накрутчики делают свое черное дело, видят результат, радуются и сваливают. Если заходят на следующий день - процедура повторяется (наверняка подумают что в рукопашную удалили его накрутки), ну и все, "начнется попытка убеждения компьютера в том, что мой пароль правильный", сильно сомневаюсь, что компьютер все-таки согласится с правильностью пароля в итоге.