Как на сайте сделать регистрацию и авторизацию через SMS

Как на сайте сделать регистрацию и авторизацию через SMS. Фото: из архива компании
Разберём три важных вопроса:
- Как установить время жизни SMS-кода?
- Как создавать учётную запись пользователя после подтверждения SMS, чтобы не дублировать аккаунты и не создавать их после активации SMS-кодом?
- Как предотвратить утечку бюджета при отправке «холостых» SMS?
Как создать аккаунт
Начнём с создания учётной записи после подтверждения SMS-кодом. Все довольно просто:
- пользователь вводит номер на этапе регистрации;
- получает от сайта код, вводит его в нужное поле, подтверждая этим свой номер;
- сайт принимает код, и пользователь продолжает заполнять форму регистрации;
- пользователь нажимает на «Создать аккаунт».
Вывод простой: если нет заполнения формы, то нет и аккаунта.
Если, опять же, пытаемся избавиться от «мёртвых душ», то можно далее предложить подтвердить аккаунт с помощью email. Так вы получите ещё и два канала для дальнейшего взаимодействия с клиентом.
Как настроить SMS-код и предотвратить утечку бюджета
Для настройки же срока жизни кода и защиты бюджета от лишних SMS можно изобрести свой велосипед или использовать API-платформу. Но если оба варианта вас устраивают, то обратите внимание на нагрузку, поскольку отправить десятки тысяч SMS сможет не каждый сервис.
Можно пойти по такому пути:
- готовим механику генерации SMS-кода, устанавливаем время действия в 1–3 минуты по требуемым параметрам;
- устанавливаем проверку SMS-кода на соответствие критериям, туда же прописываем время жизни SMS-кода для подтверждения его действия;
- если SMS-код проходит проверку, то даём клиенту доступ к сервису.
Возможны ситуации, когда код устарел, или пользователь ошибся — тогда процесс нужно начинать заново. SMS API в этом безусловно поможет, особенно при необходимости экономить деньги на «холостых» SMS.
Разработчик может установить дополнительные ограничения:
- Частота отправки. Зафиксировать число SMS на конкретный номер пользователя за заданный промежуток. Например, не более одного сообщения в минуту.
- Число SMS с одного номера. То есть, с одного номера будет уходить не больше трёх сообщений в час.
- Фильтрация и блокировка номеров телефонов. Этот способ хорош, если хочется поймать каждого клиента. Тогда достаточно взять всех, а API формирует чёрный список.
- Список стоп-слов, чтобы система могла в дальнейшем самостоятельно фильтровать спам и отсекать номера спамеров.
Если времени достаточно и нужна очень гибкая система, тогда можете выбрать иные пути:
- Сделать двухфакторную аутентификацию (2FA) для всех пользователей, тогда каждому новичку нужно найти дополнительное устройство для аутентификации.
- Установить капчу. Это простой метод, но его без проблем можно обойти.
- Построить защиту от DDoS-атак, но здесь понадобятся более мощные ресурсы, нежели с API.
Надеемся, наши советы помогут вам быстрее решить ряд вопросов при регистрации новых пользователей.
Упомянутый сервис

1 комментарий
Есть над чем задуматься, особенно по утечке бюджета
Добавить комментарий