Cookies - действительно решение.Вот система, которая будет работать:
Имейте таблицу голосов в базе данных, запоминающую голоса для каждого идентификатора посетителя.Когда посетитель заходит на ваш сайт, проверьте, содержит ли запрос cookie-файл visitor_id.Если нет, то сгенерируйте уникальный visitor_id (используя генератор uuid) и поместите cookie cookie visitor_id в ответ, сгенерированный идентификатор в качестве значения.Этот файл cookie должен быть постоянным.
Каждый раз, когда запускается голосование (и / или каждый раз, когда вы генерируете ссылку для голосования), проверьте, проголосовал ли текущий посетитель, идентифицированный его файлом cookie visitor_id, или нет, спасибо.к таблице голосов.Когда голосование завершено, сохраните его в таблице голосов.
Конечно, ничто не мешает посетителю удалить свои куки-файлы или использовать другой браузер или компьютер для голосования несколько раз.Но без аутентификации это лучшее, что вы можете сделать.