2009-06-03 6 views
3

У меня есть веб-приложение, которое требует, чтобы у пользователя была учетная запись. Затем этот пользователь может проголосовать «один раз» за определенный элемент. Тем не менее, некоторые пользователи подписывают множество учетных записей для «игры» в системе.Ограничить количество учетных записей учетной записи пользователя за определенный период?

Есть ли у кого-нибудь идеи, как вы можете ограничить этот тип вещей?

Могу ли я ограничить количество регистраций в день на каждый IP-адрес? (что с этим связано?)

Любые другие предложения ???

ответ

2

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

+0

Но как насчет людей (да, они все еще существуют), которые получают свой основной доступ в Интернет из своей местной библиотеки? – AllenG

+0

У вас очень хорошее приложение на ваших руках, если несколько пользователей находятся в одной библиотеке и в то же время все используют ваше приложение. Похоже, хорошая проблема! Приветствия. – tom

2

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

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

1

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

0

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

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

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

+0

Но мы не говорим о деятельности пользователя здесь, я уверен. Важно то, что несколько новых учетных записей создаются в то же время с одного и того же IP-адреса. Теперь это красный флаг в моей книге. – tom

1

Люди упоминают проблему NAT. Прочитайте заголовок x-forwarded-for и сравните его со стандартным IP-адресом.

Если используется x-forwarded-for, используйте это значение. Наиболее правильно настроенные маршрутизаторы NAT заполнят это поле. Единственные, кто этого не делает, обычно анонимные прокси.

Если вы действительно беспокоитесь о том, чтобы люди играли в систему, используя бит вспышки, который использует сокеты для подключения, и сообщите, скажем, идентификатор сеанса, в прослушиватель сокетов. Затем вы можете сравнить это с ip-адресом и x-forwarded for. Если это не соответствует, они находятся за анонимным прокси. Вы можете чувствовать себя в безопасности, чтобы не позволить им создавать учетные записи.

Это работает, потому что большинство анонимных прокси-серверов не являются полными прокси-серверами Socks, через которые проходит весь сетевой трафик, просто HTTP. Это было очень хорошо для меня в прошлом, когда у нас был конкурс с голосованием, и люди использовали анонимные прокси для игры в систему.

1

Вместо ограничения по счету вы можете установить ограничения по электронной почте. Если пользователям необходимо указать свой адрес электронной почты, вы уже создадите для них одно препятствие. Убедитесь, что они должны ответить на письмо с подтверждением, чтобы убедиться, что адрес электронной почты является реальным. Также отслеживайте адрес электронной почты и IP-адрес, отмечая любые подсчеты как подозрительные, где один IP-адрес имеет, например.5 или более адресов электронной почты. (В этом случае вы можете проверить эти адреса, чтобы узнать, связаны ли они каким-либо образом, например, все из одного и того же домена или аналогичных имен.) Конечно, люди могут создавать десятки адресов электронной почты с помощью GMail или Hotmail или даже если у них есть собственные частные домен. Но для многих это уже слишком много. В принципе, если вы видите 5 адресов электронной почты с gmail.com с тем же IP-адресом, это подозрительно.

0

Я бы рекомендовал внедрить другой механизм аутентификации, такой как OpenID, или, по словам Алекса, заставить пользователей указывать действительное письмо и отправлять им ссылки подтверждения по электронной почте до создания аккаунтов.

Мои предпочтения OpenID наверняка.

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