Для подтверждения номера мобильного телефона, например, при активации новой учетной записи на сайте
можно использовать следующий пример HTML-формы и PHP-скрипта, обрабатывающего данные формы. Во избежание отправки множественных запросов на форме
можно дополнительно разместить антиспам проверку (captcha).
Исходный код формы:
<html> <form method="post" action="act.php">
</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 = '";
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 "Неверный код подтверждения"; }
echo "'</script>";
function ok_code($s) { return hexdec(substr(md5($s."<секретная строка>"), 7, 5)); } ?>
Для избежания множественных запросов кода подтверждения с одного IP-адреса
и на один номер телефона рекомендуем сделать соответствующий контроль на
своем сервере. Для ограничения количества запросов на один номер телефона возможно
установить соответствующий лимит в "Настройках пользователя". Также в форму подтверждения желательно добавить картинку с кодом (captcha)
для защиты от программных автоматических спам-рассылок.
С 1 марта г. оператор связи Мегафон (Россия) прекращает передачу конечных статусов отправленных в его сеть SMS-сообщений. С указанной даты все переданные SMS-сообщения абонентам данного оператора будут иметь конечный статус Доставлено, независимо от фактической доставки абоненту.
Клиентам, которые отправляют более 100 тыс. sms/мес. в сеть оператора Мегафон и которым требуется получать конечные статусы, необходимо скачать соответствующий документ, заполнить и направить почтой в ПАО Мегафон. подробнее