Подтвердить что ты не робот

Проверка счета: только 1 счет на человека

В моем сообществе каждый пользователь должен иметь только одну учетную запись.

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

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

Поэтому мне нужно лучшее решение, чем проверка (легко обойти) электронной почты. Кстати, я не хочу использовать OpenID, Facebook Connect и т.д.

Требования:

  • метод проверки должен быть доступен для всех пользователей
  • не должно быть никаких затрат для пользователя (не менее 1 $)
  • проверка должна быть безопасной (безопаснее, чем почтовый подход)
  • Пользователь не должен требовать слишком много личных сведений.
  • ...

Есть ли у вас идеи для хороших подходов? Большое вам спасибо заранее!

Дополнительная информация:

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

4b9b3361

Ответ 1

Очень интересный вопрос! Основная проблема здесь заключается в многочастности -

  • Открытие учетной записи тривиально (поскольку создание новых идентификаторов электронной почты тривиально).
  • Но эффект открытия учетной записи в игре НЕ тривиален. Открытие новой учетной записи в основном дает вам определенную сумму денег для покупки игроков.
  • Перенос денег на другой аккаунт тривиален (трейдерами).

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

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

Решение может быть удалено либо 1,2,3.

  • Удалить 1 - это та часть, на которую вы фокусируетесь. Как и другие, это невозможно сделать с точностью 100%. Но есть способы, которые будут достаточно хороши, в зависимости от того, насколько строгим является ваш критерий "достаточно хорошо". Я считаю, что лучший компромисс заключается в том, чтобы попросить пользователя указать номер своего мобильного телефона. Он эффективен и позволяет вам связаться со своими пользователями еще одним способом. Другим способом было бы сделать вашу услугу "только приглашением" - гарантируя, что есть четко определенный "след" приглашений, которые могут однозначно идентифицировать пользователей.

  • Удалить 2 - Никто не предложил это, что немного удивительно. Не давайте новым пользователям кучу денег только для регистрации! Заставьте их работать на нее, подобно тому, как поднимать начальный капитал в реальном мире. У вашего симулятора футбола есть социальные аспекты? Как насчет того, чтобы дать пользователям только деньги, когда их счет "друзей" превысит определенное число (увеличив количество потенциальных инвесторов, которые дадут им деньги)?

  • Удалить 3 - Кто-то еще опубликовал лучшее решение для этого. Примите стратегию SO, в которой новый пользователь должен играть в течение 3 часов, прежде чем им разрешат передавать игроков. Или, может быть, добавить в свою игру "тренировочный" этап, который заставляет нового игрока доказывать свою ценность, зарабатывая достаточно денег в имитируемой среде, прежде чем им разрешат играть с реальными пользователями.

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

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

Ответ 2

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

Решение IP не является решением, так как у людей, играющих в compagny/school/3G, будет одинаковый IP-адрес. Кроме того, смена IP-адреса проста (reset маршрутизатор, прокси-сервер, используйте 3G vs wifi)

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

Это решение получило несколько обратных ссылок:

  • У несовершеннолетнего не всегда есть удостоверение личности/визы.
  • pepole не любит раздавать такую ​​информацию. (на самом деле, в зависимости от того, где вы живете: например, в Испании, очень часто запрашивается идентификационный номер)
  • люди владеют более чем одной визой.
  • можно создать валидный номер ID/визы.

Альтернативный способ:

попросите оплатить 1 $

  • чтобы позволить торговать больше, чем игрокам X/тратить больше, чем деньги X.
  • люди, которые платят плату, получили некоторое преимущество: меньше рекламы, дополнительных игроков,...
  • оплата, ограничит создание нескольких учетных записей.
  • Плата может быть оплачена с использованием налогового номера телефона (какая-то компаньона предоставляет международную систему).
  • платежный носитель может использоваться как идентификатор (номер визы)

помещает некоторое ограничение в новую учетную запись (например, SO).

  • например: "вы должны играть по крайней мере за 1 час до торговли игроком"
  • например: "вы должны играть как минимум за 3 часа до торговли более чем тремя игроками"

Использовать логику для обнаружения нескольких учетных записей

  • использовать cookie для обнаружения нескольких учетных записей
  • проверить время последнего подключения обоих игроков до транзакции. (если игрок выходит из системы за 1 минуту до входа в систему B): происходит что-то)

Моя рекомендация:

Используйте смесь всех меток thoses, но держите пользовательский интерфейс без "формы для заполнения, чтобы продолжить"

Ответ 3

Я знаю, что, вероятно, вы ничего не ожидали, но...

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

Ответ 4

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

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

Ответ 5

Вот идея:

  • Храните UUID в файле cookie у клиентов. Каждый пользовательский логин хранит UUID из Cookie по отношению к объекту учетной записи в базе данных.
  • Сделайте то же самое с IP-адресами вместо UUID.

После этого напишите интерфейс программы для своих мастеров игры, чтобы:

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

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

Ответ 6

Невозможно выполнить это с помощью программы.

Ближе всего вы можете проверить IP-адрес. Но он может меняться, и существуют прокси.

Затем вы можете получить MAC-адрес компьютера, но сетевую карту можно изменить. И компьютер тоже.

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

Ответ 7

Наиболее эффективным решением может быть использование биометрических клавиш. Человек может быть идентифицирован тем, как человек пишет предложение.

Эта компания предоставляет продукт, который может быть использован для реализации ваших требований: http://www.psylock.com/en

Ответ 8

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

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

Ответ 9

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

Ответ 10

Обратите внимание на точный сценарий, который вы говорите, является проблемой.

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

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

Ответ 11

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

http://en.wikipedia.org/wiki/List_of_SMS_gateways

Ответ 12

Я бы предложил подход, используя две инициативы:

1) Не разрешайте торговым маркам новые торговые марки. Учетные записи должны пройти период ожидания и доказать, что учетная запись является законной, выполняя некоторые неторговые действия.

2) Публиковать тот факт, что мошенники будут дисквалифицированы и наказаны. Периодически выполняйте поиск учетных записей, используемых для сброса плохих игроков и расследования. Запретить/дисквалифицировать читеров и публиковать запреты, чтобы люди знали, что правила соблюдаются.

Никакой метод не был бы надежным, но угроза наказания должна сводить к минимуму обман.