2012-05-23 3 views
-2

Можно создать дубликат:
Unique IPs in a voting systemПриложение для онлайн-голосования. Как избежать повторного голосования с тем же пользователем

Я разрабатываю небольшой веб-приложение, в котором он нуждается в онлайн-систему голосования с помощью PHP для моего мероприятия колледжа. Я получал IP-адрес и сохранял его в базе данных, чтобы предотвратить повторное голосование от одного и того же пользователя. Но потом я вспомнил, что мой колледж использует прокси-сервер, поэтому получение IP-адреса бесполезно. Я попытался получить доступ и сохранить Mac-адрес клиента с помощью javascript. Я попробовал несколько примеров, которые я нашел в Интернете .. но никто из них не работал. Можете ли вы, ребята, предложить мне альтернативу тому, как я могу получить результаты, которые я хочу?

Любая помощь будет сердечно оценена.

С уважением, Aayush Shrestha Непал

+0

Я согласен. Взгляните на ссылку Колина, и вы должны найти ответы, которые вы ищете. –

ответ

1

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

Я понимаю, что студент мог ввести несколько адресов электронной почты и проголосовать несколько раз, но сколько писем у студентов действительно есть? И сколько времени они потратят на это?

Я предполагаю, что у вас нет доступа к какой-либо системе аутентификации через ваш колледж, поэтому это, вероятно, лучший способ.

Edit:

Другая идея заключается в том, чтобы использовать Facebook аутентификации (см: http://developers.facebook.com/docs/authentication/). Недостатком является то, что вы должны предположить, что у всех избирателей есть счета в facebook.

+2

Что должно помешать пользователю использовать несколько адресов электронной почты? – Andy

+0

Для получения неограниченного количества бесплатных адресов электронной почты см. Http://www.10minutemail.com. Facebook auth (или другая сторонняя система) - довольно хорошая идея. – apsillers

+0

@ Andy хороший звонок - ничего. Если он не сможет использовать систему аутентификации своего колледжа, что-то должно дать. Я просто выплюнул несколько идей, чтобы увидеть, что он считает наименее плохим * :). Как он сказал, IP-адреса и MAC-адреса не будут работать особенно с прокси-серверами и компьютерными лабораториями в кампусе. – lbstr

0

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

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

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

0
  1. Сначала попросите пользователя зарегистрировать адрес электронной почты, чтобы впоследствии использовать систему голосования, связанную с этим адресом.

  2. После того, как у вас есть адрес электронной почты (который проверен с помощью ссылки активации, отправленной на это письмо), вы можете получить доступ к голосованию от пользователя.

Там действительно нет эффективной, независимой от платформы способ предотвращения повторного голосования, если не применять пользовательские сертификаты и т.д.

 Смежные вопросы

  • Нет связанных вопросов^_^