Rails 2, сессия и токен - PullRequest
0 голосов
/ 22 марта 2011

У меня есть вопрос-ответ.

Только один пользователь может ответить на опрос! Пользователь не может нажать на предыдущую кнопку (в браузере) и снова пройти опрос. Как я могу это сделать? Мне нужны сессии и уникальный токен? Пожалуйста, помогите мне, я застрял с этим ...

Ответы [ 3 ]

1 голос
/ 22 марта 2011

Если у вас есть логин пользователя, вам нужно только подтвердить, проголосовали ли они уже или нет.Это действительно необходимо, чтобы быть на 100% уверенным в отсутствии двойных голосов.

Если нет, вы не можете на 100% гарантировать двойные голоса, но вы можете усложнить:

  • storeв сеансе [: voted] = true
  • при получении представления о голосовании не принимать, если сеанс [: voted] == true

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

1 голос
/ 22 марта 2011

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

В противном случае, как правило, достаточно, чтобы люди не заполняли опросы несколько раз, сохраняя их ip-адрес в вашей системе, а также устанавливая cookies в своем браузере на основании того, какие разделы они уже заполнили. Они могут обойти это, очистив свои куки, но, по крайней мере, если вы сохраните их IP-адрес, им нужно будет изменить IP, чтобы повторить опрос.

Трудно сказать, не зная контекста опроса. Это в существующем приложении, где у пользователей уже есть учетные записи? Это автономное и т. Д.

0 голосов
/ 22 марта 2011

Спасибо, ребята, за отзыв. Я думал об этом (логин пользователя), но хочу без него .. поэтому я даю адрес ссылки, пользователь получает его, нажимает на этот адрес .. как www.blabalbla.com/test/survey/32643928569832569 (уникальный токен) .. и пользователь может пройти опрос .. затем, когда он закончил, он не может пройти этот опрос снова по этой ссылке.

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