Смс авторизация на сайте — регистрация через смс
Все больше сайтов начинает использовать смс авторизацию при регистрации новых клиентов. Это позволяет отсечь атаки различных спам машин на ваши формы регистрации и получить прямой контакт с клиентом. Смс авторизация позволяет клиентам мгновенно после регистрации получить пароль через смс сообщение на свой телефон. Смс сообщение может быть подписано уникальной подписью, например, названием вашей компании.
Возможно реализовать не только регистрацию через смс, но и восстановление пароля по смс или смену пароля через смс, что позволяет избежать необходимость проверки сложности пароля пользователя, когда он придумывает его сам или проверку на совпадение логина и пароля. Sms пароль увеличивает общий уровень безопасности аккаунтов ваших клиентов.
Генерация паролей
Основная задача при генерации пароля — подобрать оптимальные символы и длину пароля, чтобы пользователь как можно меньше ошибался из-за неправильного ввода пароля. Возможно использование цифровых паролей от 4 до 6 знаков или сочетание букв и цифр при увеличении длины смс кода.
Существуют различные функции генерации паролей. Приведем в качестве примера функцию на PHP.
Как сделать смс подтверждение на сайте
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
What can I do to prevent this in the future?
If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.
If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.
Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.
Cloudflare Ray ID: 71aac067e9d29156 • Your IP : 82.102.23.104 • Performance & security by Cloudflare
Интеграция с сервисом (API)
API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды.
Форма для подтверждения номера телефона
Для подтверждения номера мобильного телефона, например, при активации новой учетной записи на сайте можно использовать следующий пример HTML-формы и PHP-скрипта, обрабатывающего данные формы. Во избежание отправки множественных запросов на форме можно дополнительно разместить антиспам проверку (captcha).
Исходный код формы: < html >
< form method = «post» action = «act.php» >
< 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» >
< 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 «<script>parent.document.getElementById(‘_out’).innerHTML = ‘» ;
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 ));
>
?>
Для избежания множественных запросов кода подтверждения с одного IP-адреса и на один номер телефона рекомендуем сделать соответствующий контроль на своем сервере. Для ограничения количества запросов на один номер телефона возможно установить соответствующий лимит в «Настройках пользователя». Также в форму подтверждения желательно добавить картинку с кодом (captcha) для защиты от программных автоматических спам-рассылок.