[...] пуленепробиваемый [...]
невыполнима.
Ограничение по учетной записи поможет - IP-адреса далеко от динамических и легко изменяемых, чтобы быть "безопасными" удаленно. Тогда вам, конечно, придется ограничить создание аккаунта, опять же, сложно ..
Stackoverflow делает это довольно неплохо (недавно была запись в блоге об этом, "Новые ограничения на скорость ответов на вопросы" ) - в основном есть учетные записи, в которых вам нужно некоторое время активно участвовать, прежде чем вы сможете проголосовать , Тогда вы ограничены в скорости (по аккаунту), пока не участвуете немного дольше. Затем ограничения снимаются, поэтому вы не раздражаете более активных (более доверенных) пользователей.
Если вы просто хотите предотвратить причинное, «случайное» голосование, ограничение по файлам cookie и, возможно, также по IP (учитывая, что за одним IP-адресом может быть несколько пользователей). Если вы хотите попытаться предотвратить злоупотребление , требовать учетные записи, для которых вы не можете просто нажать «зарегистрироваться» (или, точнее, ту, для которой вы не можете написать сценарий «клик для регистрации 2000 раз»), хотя это не всегда возможно (или практически)