2010-02-12 1 views
5

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

В любом случае, я провел некоторое исследование по этому вопросу, включая поиск здесь в stackoverflow (https://stackoverflow.com/search?q=anonymous+votes) и не кажется, что есть удовлетворительный ответ.

Мой вопрос: есть ли какие-либо меры безопасности, которые я могу применить для предотвращения анонимных голосов в играх?

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

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

Любые мысли?

+0

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

+0

IP-адреса часто используются, но прокси-сервер может передавать защиту, а конверт не является удобным для пользователя, но эффективный, куки-файлы и сеанс даже слабее IP. Если вы плохо себя чувствуете в отношении проверки IP, задайте себе вопрос: что более важно? удобство использования или безопасность (потому что мало кто забирает время для голосования с прокси-сервером ...) – Julien

ответ

1

Вы можете использовать CAPTCHA один раз, чтобы подтвердить голосование и создать сеанс с IP и cookie.

+0

Я мог бы просто сделать это и проверять снова каждый раз, когда cookie будет удален или истек. Благодарю. : D – KeyStroke

2

Есть несколько способов, которые я видел работу: регистрация

  • Email: Вы получаете их по электронной почте, они должны подтвердить свой голос. Комбинация их IP + электронной почты делает уникальную запись, которую они не могут затем использовать для голосования снова (для того же опроса).
  • Captcha: без дополнительных проверок (IP и т. Д.) Для команды обезьян достаточно легко ввести много капчей.
  • Регистрация сайта: без ограничений уровня создания аккаунта (например, для бесплатной учетной записи электронной почты, необходимой для регистрации) люди могут просто создавать несколько учетных записей.

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

0

Каждый раз, когда вы имеете дело с анонимным голосованием, у вас будет несовершенное решение, но вы можете снимать «очень хорошо». Подумайте о том, чтобы удалить cookie на клиентском компьютере, чтобы предотвратить многократное/частое голосование и поддержать это, выполнив IP-отслеживание на стороне сервера, чтобы сделать то же самое. Не разрешайте никому голосовать, если файлы cookie заблокированы.

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

+0

Решение для печенья несовершенно, потому что, вместо того, чтобы полностью блокировать файлы cookie, люди могут просто удалить cookie, не так ли? – MatrixFrog