Абсолютно нет никакой уверенности, что пользователь проголосовал один раз, когда это публичная система голосования, где не требуется вход.
Проверка IP не является хорошей идеей по нескольким причинам. Как описано в других ответах, многие сети находятся за одним ip, и пользователи могут просто использовать другой компьютер с другим ip и голосовать снова.
OpenId
Используйте OpenId, чтобы идентифицировать пользователей и проверить, проголосовали ли они уже.
Регистрация пользователей
При желании вы можете разрешить пользователям регистрироваться самостоятельно, если у них нет учетной записи openid.
Чтобы внедрить защищенную систему, где подделка сеансов и, следовательно, множественное голосование затруднены Прочитайте это