Как сделать смс верификацию

Обновлено: 04.07.2024

После того, как все ухищрения и модернизации капчи вчистую проиграли сражение со спамом и прочим компьютерным мусором, онлайн-сервисы придумали классное решение, на первый взгляд позволяющее отсеять всех плохишей, – отправлять SMS с кодом валидации, которое казалось, должно было решить все проблемы с безопасностью в Интернете. На самом же деле, безопасность от этого лишь еще больше упала. Злоумышленники благодаря технической грамотности с легкостью продолжают делать свое дело, а вот телефонные номера простых пользователей из-за халатности и недосмотров разработчиков веб-сервисов, стали регулярно уплывать в руки тех же злоумышленников. Казалось бы, никаких проблем, нужно просто не вводить свой номер телефона, но все больше сервисов, таких, как PayPal, gMail, Вконтакте требуют обязательного ввода номера своего телефона. Но есть несколько способов обойти это обязательное требование, не выдавая свой номер.

Взять другой номер

Во времена бурного рассвета форумов и различных тематических сайтов, пользователь при регистрации был вынужден указывать свой e-mail, который потом через пару дней мистическим образом оказывался завален тоннами спама. Решение нашлось быстро, теперь каждый юзер имеет несколько ящиков: для деловой переписки, для форумов и для одноразовых регистраций. Верификация по SMS – точно такой же случай, только код подтверждения о регистрации приходит не на e-mail, а на телефон. Как и спам через пару дней. Поэтому и метод противодействия будет точно таким же: завести номер дублер, который примет на себя удар злоумышленников. Благо, в Украине сделать это проще, чем где либо в мире: стартовый пакет стоит полтора десятка гривен и никаких документов для регистрации не требуется. Единственный минус такого решения – не всегда есть возможность вот прямо сейчас пойти купить стартовый пакет и провести регистрацию на сайте. Что же делать? Воспользоваться онлайн-сервисами.

Онлайновые телефонные службы

Большинство интернет-пользователей знакомо с онлайновыми телефонными сервисами, такими, как Skype и Google Voice, но мало кто знает, что с их помощью можно еще и принимать SMS. Сервисом от Google воспользоваться проще: достаточно лишь зайти на страницу Google Voice и можно принимать входящие SMS на e-mail.

Онлайн SMS службы

Самым популярным в Интернете сервисом подобного рода является, вероятно, Mobifi, работающий уже почти десять лет. Служба довольно функциональна и позволяет работать с четырьмя сотнями операторов по всему миру.

Как работает СМС верификация?
1) На сайте устанавливается код формы.
1) Посетитель вводит свой номер телефона в поле формы.
2) На указанный посетителем номер телефона отправляется смс с уникальным паролем.
3) После получения пароля, пользователь вводит его в специальной поле формы.
4) Форма отправляет запрос для проверки правильности кода, и если он корректный, переадресует посетителя на определенную страницу сайта (либо авторизует его). Если код некорректный, то выводится предупреждение об ошибке.

Как можно подключить услугу СМС верификации на сайте?
1) Необходимо заключить договор на услугу СМС рассылки (для отправки смс с кодами).
2) Вставить на сайт в нужном месте код формы смс верификации.

Какие задачи помогает решать СМС верификация?
1) Идентификация пользователя по номеру мобильного телефона.
2) Отправка пользователям одноразовых паролей.
3) Отправка пользователям данных доступа (восстановление пароля, информация об аккаунте и т.п.)

Форма для подтверждения номера телефона

Для подтверждения номера мобильного телефона, например, при активации новой учетной записи на сайте можно использовать следующий пример HTML-формы и PHP-скрипта, обрабатывающего данные формы. Во избежание отправки множественных запросов на форме можно дополнительно разместить антиспам проверку (captcha).


Исходный код формы: html >
form method = "post" action = "act.php" >

table >
tr > td > Номер телефона td > input name = "phone" >
tr > td > br />

tr > td > Код подтверждения td > input name = "code" size = "6" >& nbsp ;
input type = "submit" name = "sendsms" value = "Выслать код" >
tr > td > br />

tr > td > input type = "submit" name = "ok" value = "Подтвердить" >
table >

form >
html >
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php: include_once "smsc_api.php" ;

if (isset( $_POST [ "sendsms" ])) $r = send_sms ( $_POST [ "phone" ], "Ваш код подтверждения: " . ok_code ( $_POST [ "phone" ]));

if ( $r [ 1 ] > 0 )
echo "Код подтверждения отправлен на номер " . $_POST [ "phone" ];
>

if (isset( $_POST [ "ok" ])) $oc = ok_code ( $_POST [ "phone" ]);

if ( $oc == $_POST [ "code" ])
echo "Номер активирован" ;
else
echo "Неверный код подтверждения" ;
>

function ok_code ( $s ) return hexdec ( substr ( md5 ( $s . " " ), 7 , 5 ));
>
?>
Исходный код формы: html >
form method = "post" action = "act.php" target = "ifr" >

table >
tr > td > Номер телефона td > input name = "phone" >
tr > td > br />

tr > td > Код подтверждения td > input name = "code" size = "6" >& nbsp ;
input type = "submit" name = "sendsms" value = "Выслать код" >
tr > td > br />

tr > td > input type = "submit" name = "ok" value = "Подтвердить" > td colspan = "2" id = "_out" >
table >

form >
iframe name = "ifr" frameborder = "0" height = "0" width = "0" style = "visibility:hidden" > iframe >
html >
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php: echo "" ;

function ok_code ( $s ) return hexdec ( substr ( md5 ( $s . " " ), 7 , 5 ));
>
?>

Для избежания множественных запросов кода подтверждения с одного IP-адреса и на один номер телефона рекомендуем сделать соответствующий контроль на своем сервере. Для ограничения количества запросов на один номер телефона возможно установить соответствующий лимит в "Настройках пользователя". Также в форму подтверждения желательно добавить картинку с кодом (captcha) для защиты от программных автоматических спам-рассылок.

За последние несколько лет авторизация пользователя по звонку стала привычным делом. Ввод короткого кода в форму регистрации занимает у пользователя гораздо меньше времени, чем в случае с адресами электронной почты и паролями. Сейчас бизнес использует несколько технологий аутентификации пользователя по звонку. Однако все ли они являются одинаково удобными и экономичными? Давайте разбираться.

Авторизация по SMS

Авторизация по СМС

Авторизация пользователя по СМС – самая дорогая, но далеко не самая эффективная

Этот способ двухфакторной аутентификации является пока наиболее распространенным. Обычно авторизацию по SMS используют банки для входа в аккаунт или подтверждения денежного перевода. Суть этого способа в том, что человек вбивает свой номер в форму регистрации, получает SMS с кодом (4- или 6-значным) и вводит его в строку подтверждения.

Подобных операций за сутки может быть более 5000. Даже если взять минимальную стоимость SMS в 1,5 рубля, за месяц набегает сумма более 220 000 рублей. По факту же многие компании сообщают, что только на SMS-авторизацию тратят в месяц более миллиона рублей.

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

Рассмотрим, какие существуют альтернативы SMS-авторизации.

Аутентификация через мессенджер

Аутентификация по звонку

Мобильный телефон в руке

Авторизация через Flash Call – это быстро, дешево и удобно

Отправка кода по звонку работает в трех вариантах:

Исходящий звонок по номеру

В этом случае авторизация происходит, когда пользователь звонит и вызов сбрасывается. Сам человек ничего не платит, ведь дозвона не было. Однако для него самого это действие – фактически точка отказа. Современный пользователь вообще старается никуда не звонить без лишней на то необходимости. А когда его просят набрать незнакомый номер, это вызывает разумные опасения: что, если на том конце линии сидят мошенники, которые получат доступ к личным данным?

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

Flash Call

Этот способ является самым простым и понятным. В том числе и с точки зрения пользовательского опыта. От человека вообще не требуется лишних телодвижений. Оставляем номер телефона в форме, система перезванивает. Трубку снимать не нужно, поскольку кодом авторизации являются 4 последние цифры номера. Остается лишь внести их в нужную строку. А порой не нужно даже этого. Если человек авторизуется в приложении с доступом к списку вызовов, оно само подставит нужные цифры их входящего номера. В любом случае авторизоваться через Flash Call можно, когда вы захотите, ведь входящий останется в списке звонков.

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

На отечественном рынке услуга Flash Call пока только входит в моду. Среди действующих провайдеров самые низкие цены – у компании New-Tel с сервисом Call Password.

Основные преимущества Call Password от New-Tel

Услуга Call Password доступна в нескольких тарифных пакетах. Чем больше авторизаций в пакете, тем ниже будет стоимость каждого звонка. По факту расценки за звонок варьируются от 30 до 50 копеек.

29 сервисов виртуальных номеров для приема СМС

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

Как пользоваться виртуальным номером

Собственно, если это бесплатный сервис, то там будет просто список номеров, выбираете любой понравившийся номер и копируете его. Вставляете его уже на том сайте, где это требуется.

Если сервис платный, то там еще нужно выбрать категорию, под которую будет использоваться номер, дабы вам подобрали уникальный, не использованный ранее. От этого еще и будет зависеть стоимость номера. Например, номера под Вконтакте стоят 25 рублей, а под Авито – 3 рубля. Номера под другие категории – 3 рубля.

Список бесплатных виртуальных номеров

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

Требуется еще и регистрация для дальнейшего использования:

Список платных виртуальных номеров

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

    – возможность повторного приема СМС, очень низкие цены на многие сервисы – номера доступны из более 195 стран. Номер выдается бесплатно, оплачиваете только полученные смс. Неограниченное количество повторных смс. API без ограничений на потоки. Новинка – Возможность аренды номера до 3 месяцев. – огромное количество доступных номеров, демократичные цены, возможность аренды номера, имеется возможность повторного приема СМС – большое количество номеров, низкие цены, возможность отменить операцию с возвратом средств – 70+ стран, имеется API, возможность повторного приема СМС, аренда номера – 100+ стран для активаций, огромное количество номеров по низким ценам, ежедневные раздачи ваучеров в Telegram (есть шанс протестировать сервис БЕСПЛАТНО), бесплатный софт эксклюзивно для пользователей сервиса – имеется API, возможность повторного приема СМС – возможность аренды номера – имеется API, возможность аренды номера, повторного приема СМС – большое количество номеров, не только РФ, но и забугор, возможность аренды номера, повторного приема СМС – мало номеров, возможность аренды номера – имеется API, возможность аренды номера, повторного приема СМС – низкие цены, возможность повторного приема СМС – имеются украинские номера, возможность аренды номера, возможность отправки СМС

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

Читайте также: