Как запретить пользователям создавать несколько учетных записей на бесплатной ежедневной ограниченной службе
Идея в том, что у нас есть сайт для бесплатных загрузок.
но будет ежедневный лимит ежедневных загрузок для каждого пользователя (скажем, 5 дл в день на пользователя), поэтому будут пользователи с несколькими учетными записями.
- Обнаружение IP не хорошо; потому что у меня много пользователей с одного ip (пользователи из одной организации)
- проверка электронной почты и уникальная учетная запись электронной почты не годится; вы можете создать более одного аккаунта
- смс подтверждение не годится; пользователи могут использовать номер сотового телефона своего друга для регистрации другого аккаунта
Я видел сайт, который решил эту проблему (частично) www.gameknot.com
Они обнаруживают пользователей по имени компьютера или MAC-адресу или что-то еще, я не уверен, я зарегистрировал 3 пользователей там, они обнаружили меня, сказали:"эти три пользователя используют один компьютер"!! и забанили все три аккаунта.
Когда я переустанавливал другое окно, проблема решилась, у меня там был один пользователь.
Вот я и спросил себя "как они это сделали"?
Есть ли какие-либо предложения относительно того, как я могу справиться с этой проблемой?
6 ответов
Если бы я внедрил такую систему, чтобы иметь только один вход на пользователя или что-то подобное, я бы сделал что-то вроде этого:
1: создать идентификатор машины, основываясь на IP, возможно, используя JavaScript/Java Applet/Flash, вы можете получить MAC, или я не знаю, какие вещи рассматриваются. Для простоты, скажем, я вычисляю идентификатор хоста следующим образом:
ID = MD5(PUBLIC_IP) + MD5(LOCAL_IP) + MD5(MAC)
2: Войдите в систему User1 и давайте представим, что я вычислил идентификатор хоста = 666. Мы ищем таблицу в БД, скажем, table_hosts, которая содержит эти данные (user, host_id)
3: Пользователь1 использовал все 5 загрузок (отслеживайте их, используя сеанс или записи из базы данных)
4: Пользователь1 пытается войти в систему как Пользователь2, и теперь мы вычисляем ID = 666, тот же ID = 666, мы ищем table_hosts и выясняем, что тот же ID хоста использовался в тот день и User1. Теперь мы можем заблокировать учетные записи с этим идентификатором, выдавать предупреждения, например, 20% до бана и т. Д.
Надеюсь, что смогу помочь, но помни, будь творческим, вот и все!
Л.Е.: Поскольку другие обсуждают общие машины, идентификатор может быть рассчитан так:
ID = MD5(PUBLIC_IP) + MD5(LOCAL_IP) + MD5(MAC) + MD5(NameOfLoggedOnUser)
Но в этом есть и недостаток: обидчик может создать 2 или более учетных записей на своем компьютере. В любом случае, повторяю, будьте изобретательны, и да, мы не должны забывать, что любой замок может быть взломан.
Если бы это был MAC-адрес, переустановка Windows ничего бы не изменила - это аппаратный адрес.
Возможно, они устанавливали куки с вашей машины? Недостатком является то, что пользователь, очищающий свои куки, получит открытый доступ.
Даже привязка к одному компьютеру имеет недостатки - что делать, если это общий компьютер (в доме или даже в интернет-кафе).
Вероятно, не существует идеального решения, потому что у вас будут случаи, когда кто-то законно делает что-то, что выглядит хитроумными и хитрыми людьми, которые могут выглядеть законно.
Главный вопрос здесь заключается в том, чтобы найти баланс между контролем и раздражением. Будет ли больше контроля для вас, чтобы вызвать больше раздражения для ваших пользователей?
Имейте в виду, что у пользователя может быть неудачная загрузка по многим причинам. Вы разрешаете возобновить загрузку или перезапустить ее, не наказывая пользователя?
Вы упоминаете подтверждение электронной почты и уникальную учетную запись электронной почты как не очень хорошие Но не забывайте, что создание новой учетной записи электронной почты только для этой цели является проблемой для большинства пользователей. Так что регистрация нового аккаунта даже с существующей электронной почтой. Так что да, некоторые пользователи получат немного больше, чем должны, но будет ли это иметь серьезные негативные последствия для бизнеса?
Если вы хотите, чтобы они платили за дополнительные загрузки, будет два типа. Те, кто ценит свое время и ненавидит неприятности. Сделайте это легко для них, и они с удовольствием заплатят! Это ваши клиенты, о которых вы хотите заботиться.
Другая группа - это те, кто придумывает новые трюки, чтобы не платить, независимо от того, как сильно вы это сделаете. Будете ли вы обнаруживать их компьютер? Затем они пойдут в интернет-магазин со многими другими компьютерами, так что вы ничего не добьетесь. Вы просто ничего не можете сделать против этих пользователей. Но стоит ли волноваться?
Итак, в заключение, возможно, попытка упростить процесс для пользователей, которые рады платить, стоит больше, чем беспокоиться о тех, кто не будет платить в любом случае. Вот еще несколько обсуждений о том, чтобы быть удобным для пользователя.
РЕДАКТИРОВАТЬ.
Просто заметил этот ответ, показывая, что получать поддельные электронные письма даже проще, чем я думал. Однако сколько пользователей узнает об этом сервисе?
Что ж, Stackru, похоже, использует Open ID для решения этой проблемы, если не устраняет ее.
Они, вероятно, использовали куки или IP для отслеживания, оба легко победить. Как и во всех проблемах безопасности, это вопрос доступности против безопасности.
Если это действительно очень важно, вы можете использовать проверку смс. Это, вероятно, так же безопасно, как и собирается... Но это довольно нетривиальная вещь, которую нужно решить, особенно с пользователями из не-. Я бы просто пошел с протоколированием IP (чтобы вы могли периодически выполнять поиск, чтобы увидеть любые странные шаблоны) и куки.
Я запускаю бесплатный сайт, где люди регистрируют аккаунты, и у меня были некоторые похожие проблемы, которые у вас были. Мне потребовалась проверка электронной почты, и я зарегистрировал IP-адреса, но люди всегда будут искать способ игры с системой. Единственное решение - это частый мониторинг вашего сайта, чтобы убедиться, что ничего ненормального не происходит. У меня был случай, когда три проверенные учетные записи входили в систему с одного и того же IP-адреса всего несколько минут друг за другом и все выполняли одно и то же действие. Я написал одному из пользователей, который пожаловался: "О нет, это только я, я не знаю, о чем ты говоришь". В конце концов я заблокировал учетную запись этого пользователя, и все три учетные записи одновременно стали неактивными.
У меня также был другой случай, когда кто-то создавал поддельные учетные записи электронной почты, но делал это почти одинаково, используя каждый раз один и тот же пароль и один и тот же адрес электронной почты. Он вызывал проблемы на сайте, поэтому я заблокировал все его аккаунты, и он в итоге остановился.
Просто следите и ищите шаблоны. Помимо того, что вы становитесь действительно хитрыми, это почти все, что вы можете сделать.
Удачи!