Ограничить количество регистраций в учетной записи пользователя за период? - PullRequest
3 голосов
/ 03 июня 2009

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

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

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

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

Ответы [ 7 ]

2 голосов
/ 03 июня 2009

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

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

2 голосов
/ 03 июня 2009

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

1 голос
/ 03 июня 2009

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

1 голос
/ 03 июня 2009

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

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

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

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

1 голос
/ 03 июня 2009

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

0 голосов
/ 08 июня 2009

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

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

0 голосов
/ 03 июня 2009

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

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

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

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