5

Я кодирую новый веб-сайт, который будет нуждаться в том, чтобы пользователи вводили свой номер мобильного телефона, проблема, с которой я сталкиваюсь, заключается в том, что мне нужно убедиться, что пользователь фактически является владельцем (или в этом случае имеет доступ на) номер мобильного телефона.SMS - Как избежать банкротства?

Решение, которое я придумал, заключается в том, что при отправке номера я отправляю им SMS-сообщение с токеном и прошу пользователя ввести токен на моем веб-сайте, как и Google Calendar. Тем не менее, я нахожусь в коротком бюджете, и мне нужно убедиться, что пользователь A не отправляет 100 000 мобильных номеров, если это произойдет, я не буду в бизнесе в кратчайшие сроки, поскольку каждое отправленное SMS стоит около 0,10 долларов США.

До сих пор, я придумал следующие решения:

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

Ни одно из этих решений не является идеальным, как вы предлагаете мне подойти к этой проблеме?

ответ

6

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

Вы можете оценить предельные IP-адреса (а не общий лимит). Не более 10 запросов от IP в течение 5 минут или что-то в этом роде.

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

Также, как и @Alan, мы помещаем кепку в наши SMS-сообщения в месяц.

0

Почему SMS стоит вам в десять центов? Используйте адрес EMAIL, который связан с каждой системой SMS (по крайней мере, здесь, в U.S).

http://www.sms411.net/2006/07/how-to-send-email-to-phone.html

+1

Это прекрасный подход, но вы должны заставить своих пользователей войти в их перевозчика правильно? Плюс, если они переключают несущие, им приходится помнить о переключении своих учетных записей. – Alan

+2

Это определенно зависит от США. –

+0

Да, я не в США. –

3

Я хотел бы использовать комбинацию CATPCHA и Ограничить запросы на номер мобильного.

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

Вместо SMS вы можете использовать автоматическую услугу, которая вызывает телефонный номер, вызывая одноразовый пароль (через текст 2 речи). Эти услуги схожи с ценообразованием на СМС и с меньшей вероятностью могут быть использованы для злоупотребления спамом, поскольку накладные расходы еще больше.

Twilio Стоимость $ 0,03 в минуту или в этом случае $ 0,03 за звонок.

+0

И если вы идете по маршруту Twilio, вы можете дать мне 0.02 доллара за звонок, так как я сэкономлю вам $ 0.07: D – Alan

+0

@Alan, Twilio продолжает говорить, что «Международный набор номера не включен», поскольку мое веб-приложение не для американской аудитории это не полезно для меня. –

+0

Хорошо выглядит, что я не буду делать то, что $ 0,02 за звонок;) Однако, хотя я разместил это до вашего комментария о том, что вы не являетесь американцем. Поиск вокруг, вероятно, будет аналогичная услуга для вашего региона. – Alan

0

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

Ограничить то, что люди могут делать (не более 10 запросов от 1 ip за 10 минут, один номер телефона может получать только 3 текста в неделю, переписывать до ввода номера), но что более важно, если люди не имеют контроля над В содержании сообщения нет реальной причины использовать его.

+0

Содержимое сообщения будет простым токеном (aka password), но я считаю, что мои конкуренты могут быть использованы заставить меня потерять деньги. –

3

Вы можете делать то, что делает Twitter, у которого пользовательский текст - это токен (а не текстовое сообщение).

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