Intereting Posts
Laravel включает css, js, используя ssl Вставить изображение в Mail без использования графического файла изображений Нельзя просто использовать имя таблицы PostgreSQL («отношения не существует») Как lazy загружать элементы из mysql db, как facebook и twitter (бесконечная прокрутка) Получить MIME-тип через PHP PHP open_basedir с UNC-контуром Обнаруживать с php, если файлы загружаются или открываются mysql_query () возвращает true, но mysql_num_rows () и mysql_fetch_array () дают "недействительные ошибки ресурса Уникальный URL для просмотра статьи Как я могу использовать регулярные выражения с OOD Mongodb Doctrine? Какие библиотеки будут анализировать DTD с помощью PHP Усекать текст без обрезания HTML Yii Ошибка 400 Тонер CSRF не может быть проверен при попытке удалить сообщение Ошибка cURL 60: проблема сертификации ssl при попытке использовать symfony Какие символы НЕ экранированы с помощью подготовленного оператора mysqli?

Онлайн-приложение для голосования. Как избежать повторного голосования от одного и того же пользователя

Возможный дубликат:
Уникальные IP-адреса в системе голосования

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

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

С уважением, Ааюш Шреста Непал

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

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

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

    Редактировать:

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

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

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

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

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

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

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