Продукт
Как проверить, что номер телефона принадлежит пользователю
Речь идёт о проверке, что номер, введённый в вашу форму, доступен тому, кто его вводит. Это не определение чужого номера и не поиск сведений об абоненте — такой задачи здесь нет. Доступ подтверждается действием: получением одноразового кода или, что строже, исходящим вызовом с этого номера. Ниже — сравнение способов, их надёжность и честный разбор того, от чего телефонная проверка защищает, а от чего нет.
Уточним предмет с первой строки, потому что формулировка «проверка принадлежности номера» звучит двусмысленно. Речь о том, чтобы убедиться: телефон, указанный в вашей форме, доступен тому человеку, который его указал. Не о том, чтобы выяснить что-либо о постороннем номере — это другая задача, и она здесь не рассматривается.
Что значит «проверить принадлежность номера»
Различают две вещи, и путать их дорого.
Регистрационные данные. На кого оформлена SIM-карта по документам. Эти сведения защищены законом, операторы их не раскрывают, и построить на них проверку невозможно.
Фактический доступ. Может ли человек прямо сейчас воспользоваться этим номером — принять на него сообщение или совершить с него вызов. Именно это проверяется на практике, и именно этого достаточно почти для всех продуктовых задач.
Разница существенна. Фактический доступ не говорит, что перед вами конкретный гражданин, — он говорит, что перед вами тот же человек, который сможет ответить на звонок курьера и получить код при восстановлении доступа. Для большинства сценариев это ровно то, что нужно.
Способы подтвердить доступ к номеру
| Способ | Что доказывает | Надёжность | Что делает пользователь |
|---|---|---|---|
| SMS-код | сообщение получено на этот номер | зависит от доставки; код можно передать посреднику | ждёт и вводит код |
| Голосовой код | вызов принят на этот номер | выше, чем у SMS: сложнее автоматизировать приём | принимает вызов, слушает, вводит |
| Входящий flash call | вызов поступил на этот номер | требует разрешений приложению | ничего либо вводит цифры |
| Исходящий звонок пользователя | вызов совершён с этого номера | самая высокая из перечисленных | нажимает вызов |
Строки упорядочены по строгости доказательства, и она растёт сверху вниз.
Почему звонок от пользователя — самый строгий вариант
Все способы с кодом устроены одинаково: сервис что-то отправляет на номер, а пользователь пересылает полученное обратно. Слабое место в том, что пересылать может кто угодно. Достаточно иметь доступ к принимаемым на номер сообщениям — не к самой SIM-карте, а к потоку сообщений, — и код будет введён.
Исходящий вызов работает иначе. Подтверждением служит не полученное сообщение, а сам факт вызова с проверяемого номера: сервис видит номер вызывающего абонента на своей стороне. Чтобы это подделать, нужно не принимать сообщения, а управлять исходящей линией с конкретного номера — задача принципиально другого порядка сложности.
Побочный эффект приятный: пользователю не приходится ничего вводить, то есть более строгая проверка оказывается ещё и более быстрой. Как это устроено технически — в статье про подтверждение номера телефона звонком.
Защита от фейковых регистраций и мультиаккаунтов
Телефонная проверка не делает регистрацию невозможной — она делает её дорогой. Это и есть её работа.
Без верификации создание аккаунта стоит ноль и занимает секунду, поэтому массовая регистрация ограничена только скоростью скрипта. С верификацией каждый аккаунт требует отдельного работающего номера: их надо где-то взять, они стоят денег, и процесс перестаёт масштабироваться бесплатно. Экономика атаки ломается — а именно она, а не техническая невозможность, останавливает большинство злоупотреблений.
Что это закрывает на практике:
- Регистрации ради приветственных бонусов. Промокод новичка перестаёт быть бесконечным.
- Мультиаккаунты для накрутки. Отзывы, рейтинги, голосования — всё, что считается «по одному на человека».
- Ложные заказы. Особенно при оплате при получении, где фейковый заказ стоит вам логистики.
- Автоматическую регистрацию ботами. Полностью автоматический пайплайн упирается в необходимость управлять телефонными номерами.
Где пределы, честно. Сервисы, предоставляющие доступ к чужим номерам ради приёма сообщений, существуют, и притворяться, что верификация закрывает эту дыру полностью, нельзя. Она поднимает стоимость и снижает скорость атаки, но не сводит её к нулю. Поэтому телефонная проверка — один слой защиты, а не вся защита: рядом должны стоять лимиты на действия нового аккаунта, ограничение числа привязок одного номера и анализ поведения.
Что ещё должно стоять рядом с проверкой
Телефонная верификация закрывает один вопрос — есть ли у человека доступ к указанному номеру. Всё остальное она не решает, и рассчитывать на неё как на единственный барьер не стоит. Минимальный набор рядом:
- Лимит привязок одного номера. Без него проверка перестаёт ограничивать мультиаккаунты: подтвердить один и тот же телефон можно сколько угодно раз.
- Ограничение действий нового аккаунта. Отзыв, вывод средств или публикация с первой минуты жизни учётной записи — самая уязвимая точка.
- Лимит на число проверок с одного адреса и одной сессии. Создание проверок стоит денег, и без ограничения форма превращается в способ тратить ваш баланс.
- Анализ поведения. Десять регистраций с одного устройства за час выглядят одинаково подозрительно, сколько бы номеров ни было подтверждено.
- Журнал подтверждений. Кто, когда и с какого номера — это то, что понадобится при разборе спорной ситуации.
Полезно сразу задать себе вопрос, сколько стоит обойти вашу защиту. Если приветственный бонус или триал дороже, чем усилия на обход, схема окупается для злоумышленника — и никакая проверка сама по себе этого не изменит. Верификация сдвигает экономику атаки, а не отменяет её.
Защита от фейковых заказов
Отдельный сценарий с понятной ценой ошибки. В e-commerce ложный заказ — это не только несостоявшаяся продажа: товар зарезервирован, собран, отправлен и вернулся, а логистику вы оплатили.
Проверка номера на этапе оформления решает сразу две задачи. Во-первых, отсекает заказы, оформленные на выдуманный телефон. Во-вторых, ловит обычные опечатки — а это гораздо более частый случай, чем злой умысел: неверная цифра в номере означает, что курьер не дозвонится и заказ вернётся ровно так же, как и подложный.
Порядок такой: подтверждать номер до того, как заказ уйдёт в сборку, а не после. Разбор задач по отраслям — в материале где нужна верификация телефона, выбор сценария под этап пользовательского пути — в статье про подтверждение при регистрации, входе и операциях.
Частые вопросы
- Можно ли узнать, на кого оформлена SIM-карта?
Нет, и такой задачи сервис не решает. Данные абонентов защищены законом и операторам передавать их некому. Проверяется только фактический доступ к номеру: тот, кто указал телефон в форме, должен подтвердить его действием.
- Спасает ли проверка от сервисов приёма SMS на чужие номера?
Не полностью. Такие сервисы существуют, и полностью закрыть эту дыру верификация не может. Но она делает массовую регистрацию платной и медленной, а сценарий с исходящим вызовом усложняет её дополнительно.
- Чем звонок строже SMS-кода?
Тем, что подтверждается: SMS доказывает приём сообщения на номер, звонок — совершение вызова с него. Первое можно организовать через посредника, получающего сообщения, второе требует управления самой линией.
- Как быть, если номер один, а аккаунтов нужно несколько?
Это ваше продуктовое решение, а не техническое ограничение. Заведите явный лимит привязок одного номера — без него верификация перестаёт отсекать мультиаккаунты, а с ним придётся продумать легитимные случаи вроде семейных или рабочих учётных записей.