Хранение нескольких двоичных значений в куки - PullRequest
2 голосов
/ 28 ноября 2010

У меня на сайте много опросов, и я хочу запретить пользователям повторное голосование много раз. Насколько я знаю, я могу либо вести журнал IP посетителей, либо хранить куки. Я попытался использовать IP-журнал в базе данных MySQL, но есть одна проблема: все посетители за маршрутизатором имеют один и тот же внешний IP, поэтому только один человек за маршрутизатором может голосовать в определенном опросе.

Так что теперь я переключаю свой код на использование файлов cookie, если нет более эффективных решений. Поскольку в конечном итоге будут проводиться сотни или тысячи опросов, и я думаю, что существует ограничение в 20 файлов cookie, как я могу хранить значения для каждого опроса? Значения могут быть просто двоичными значениями, например poll1 = 0, если еще не проголосовали, poll1 = 1, если проголосовали.

Кроме того, если это помогает, каждый опрос немедленно показывает результаты, используя jquery. Я предполагаю, что могу установить / изменить cookie в JQuery резонанс.

Есть идеи? Спасибо! (кстати, я понимаю, что куки могут быть удалены)

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

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

Попытка ввести ограничение на активность пользователей без использования способа реальной идентификации пользователей никогда не будет эффективной.

1 голос
/ 28 ноября 2010

Даже если у вас сотни опросов, разумно ожидать, что каждый пользователь проголосует только в нескольких из них. Таким образом, у вас может быть только один файл cookie с разделенным запятыми списком идентификаторов опросов, за которые проголосовал пользователь.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...