Создать уникальный опрос/голосование/опрос на php

уникальный опрос / голосование / опрос я имею в виду, что пользователь может голосовать только один раз. Как мне это сделать? Отслеживать их ip? Логин? Кроме логина, что еще? (вход в систему-мой последний вариант, таким образом, помимо входа в систему, есть ли что-то еще, что я могу сделать?)

3 ответов


чтобы ограничить количество голосов на человека, вам нужно отслеживать человека.

теперь может быть несколько способов сделать это, и я перечислю их с их плюсами и минусами. Его для вас, чтобы решить, какой метод подходит вам лучше всего.

  1. вход: это предложит вам окончательный контроль. Но это также немного громоздко для пользователя. и это ваше последнее предпочтение
  2. IP: как вы будете обрабатывать людей за веб-прокси? Как насчет людей с dialup соединения и/или динамические IP?
  3. cookies: это хорошо для краткосрочных опросов, поэтому вы можете установить срок действия cookies на время, когда опрос закончился. Но потенциальным недостатком является то, что пользователь (в отличие от кросавчег) будет знать, как удалить куки!
  4. openId: хотя этот метод не слишком отличается от метода "login", это спасает пользователя от регистрации (которая действительно является частью, которая больше всего о логинах).

EDIT: проблема с этой ситуацией заключается в том, что вам нужно решить личность пользователя. Я думаю OpenID это чертовски хорошо.

спасибо,

jrh.


вы всегда можете хранить cookie на своем компьютере. Однако помните, что пользователь может легко отключить файлы cookie или изменить их содержимое. Нет 100% надежного способа сделать то, что вы хотите сделать - пользователь всегда может создать новую учетную запись или перейти на другой компьютер и т. д.

Если вы хотите пойти с подходом cookie, хотя, есть три возможности.

  1. вы можете сохранить немного текста, говоря, что этот человек уже проголосовал
  2. вы можете сохранить уникальный идентификатор, ссылающийся на свой голос
  3. вы можете сохранить файл cookie сеанса и сохранить остальные данные на сервере (вероятно, более безопасным, поскольку они не могут редактировать данные, только идентификатор сеанса, и это, вероятно, сделает его недействительным).

самый безопасный способ-это система входа в систему.

но если вы не хотите использовать один, я использовал, чтобы добавить хэш, содержащий пользователей IP и браузер ведьма поможет мне отфильтровать в гораздо лучшей степени, чем просто IP (строка браузера может быть разной для разных людей, использующих тот же браузер, из-за версии, операционной системы и установленных расширений ), но у вас все еще есть проблемы, если они переключают браузеры, та же проблема, что и cookie. Хэш хранится в база данных.