Как я могу отследить уникального пользователя в PHP?(Запретите пользователю голосовать более одного раза) (Пожалуйста, прочитайте детали для осложнений) - PullRequest
0 голосов
/ 26 февраля 2012

Я хочу отслеживать пользователей, чтобы они не голосовали дважды в опросе.Я не хочу использовать IP-адрес, потому что приложение, которое я создаю, предназначено для кампуса, и у многих людей будет тот же IP-адрес, потому что беспроводная сеть использует NAT.Кроме того, я не хочу использовать файлы cookie или идентификатор сессии, потому что их легко удалить.

Как я могу это сделать?Или мне не повезло?

Я смотрел на этот вопрос: Как идентифицировать уникального пользователя? .Есть некоторые ответы, которые говорят, что снятие отпечатков пальцев в браузере может быть способом, которым Urban Dictionary предотвращает многократное голосование.Как мне это сделать?

РЕДАКТИРОВАТЬ: Одна вещь, которую я, конечно, не могу иметь в этом приложении, это логин пользователя.Это побеждает цель приложения.

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

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

Если вы хотите однозначно идентифицировать пользователя, разрешите голосование только зарегистрированным пользователям, а если оно ориентировано только на кампус, то у всех студентов будет адрес электронной почты, т.е. first.last@schoolname.sch.uk или каков ваш домен.

0 голосов
/ 26 февраля 2012

Отдельные техники могут быть недостаточно мощными, но в сочетании они могут быть очень полезными. Например, вы можете сказать:

если IP-адрес тот же, а браузер такой же, а операционная система та же ИЛИ ЖЕ печенье присутствует

Тогда запретить голосование. Очевидно, есть много других методов, которые могут быть использованы в связи с этим (например, снятие отпечатков пальцев в браузере).

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

...