Модуль авторизации по паролю, присылаемому в СМС, либо по звонку на номер, предложенный хотспотом

В связи с Постановлением Правительства Российской Федерации от 31.07.2014 № 758 «О внесении изменений в некоторые акты … (и далее по тексту...)» отныне, цитата:

«Оказание универсальных услуг связи по передаче данных и предоставлению доступа к сети интернет с использованием пунктов коллективного доступа осуществляется оператором универсального обслуживания после проведения идентификации пользователей. Идентификация пользователя осуществляется оператором универсального обслуживания путем установления фамилии, имени, отчества (при наличии) пользователя, подтверждаемых документом, удостоверяющим личность».

В последствии требования были смягчены, и для идентификации пользователя сети (Wi-Fi в том числе) было разрешено фиксировать номер его мобильного телефона методом запроса СМС.

В случае, когда вы используете Easyhotspot для автоматизированного предоставления платного доступа в интернет с помощью дополнительных автоматизированных платежных модулей (по СМС, банковским картам, QIWI, Onpay, Robokassa и прочих), то условия такой «смягченной» идентификации пользователя вами уже выполняются! Это происходит благодаря тому, что все автоматизированные платежные модули программы Easyhotspot ОБЯЗАТЕЛЬНО записывают в базу номера мобильных телефонов клиентов!

Если же вы предоставляете доступ в интернет без использования вышеуказанных автоматизированных модулей оплаты (например, бесплатно), то вам может оказаться полезным «Модуль отправки СМС с паролем на номер, введенный клиентом», описываемый на этой странице.

Данный модуль позволяет идентифицировать пользователя (его телефон) ОДНИМ ИЗ ДВУХ ВОЗМОЖНЫХ способов. Первый заключается в том, что клиент должен будет вводить пароль, который хотспот пришлет ему в СМС на указанный им номер телефона. Второй способ заключается в том, что клиент должен будет позвонить на номер телефона, предложенный ему хотспотом.

Ключевые возможности модуля

  • У страницы авторизации биллинга Easyhotspot имеется функция автоматической повторной авторизации (далее - автологин). Что делает эта функция? Когда страница авторизации отображается клиенту, она в фоновом режиме запрашивает у биллинга данные о «предыдущей» авторизации клиента (поиск осуществляется по mac-адресу устройства). Если биллинг находит у себя в базе данных логин и пароль, которые ранее уже использовались этим устройством (с данным mac-адресом), и эти логин и пароль все еще валидны (еще не истек их срок годности), то Easyhotspot сообщает их страницеавторизации. Получив пароль, страница авторизации сама автоматически вводит его, и клиент получает доступ в интернет без каких-либо дополнительных действий с его стороны. Естественно, такое возможно только в тех случаях, если клиент хотя бы раз ранее уже выполнял успешную авторизацию! То есть, функция срабатывает при втором, третьем, и всех последующих подключениях клиента к хотспоту. С одной стороны, это выглядит как забота о клиенте, на случай, если он забудет выданный ему пароль! А с другой стороны эта функция очень полезна и для Администрации хотспота — она позволяет избежать излишних отправок СМС в тех случаях, когда клиент выданный ему пароль забыл, а пароль этот все еще действует (т.е. она позволяет «экономить» на отправках СМС клиентам)! Функция интересна также еще и тем, что в её работе не применяются никакие cookies или иные способы хранения данных на устройствах клиентов, использование которых может быть заблокировано как пользовательскими настройками самих клиентов (параноиков), так и возможностями используемых ими программ (например CNA у устройств Apple).
  • Модуль осуществляет проверку номеров телефонов, вводимых клиентами хотспота (проверяются код страны и код оператора). Непосредственно сама проверка возложена на программу Easyhotspot. Для этого в ней создан массив кодов стран и массивы кодов операторов для 15 стран, которые ранее были республиками СССР. А сам модуль отсылает в программу Easyhotspot запрос с номером, который ввел клиент, и получает ответ, прошел этот номер проверку или нет.
  • Модуль использует NASID (ID хотспотов), благодаря чему один и тот же сервер с одной и той же страницей модуля СМС авторизации может обслуживать разные хотспоты (имеющиие различающиеся NASID) по разным тарифам (предоставлять разные условия доступа в интернет для клиентов разных хотспотов)!
  • Для отправки СМС с паролем данный модуль использует функцию «отправки служебных СМС», встроенную в программу Easyhotspot. В свою очередь, эта функция для доставки СМС использует услуги одной из перечисленных ниже фирм-агреторов:
    • TurboSMS
    • SMS-Online
    • SMSProfi
    • СМС-Центр (код работает с такими «локальными» серверами - RU, UA, KZ, с другими не проверялось)
    • СМС.ру
    • SMS Gatekeeper
    • Чудо Телеком
    • AlphaSMS (Украина)
    • Mobizon (Казахстан)
    • ProfiSMS (это не агрегатор, а программа под Windows для отправки СМС через локально подключенный телефон или USB-модем)
    • Gammu-Smsd (это не агрегатор, а программа под Linux для отправки СМС через локально подключенный телефон или USB-модем)
    • SemySMS — бесплатный сервис CMC рассылок, использующий для отправки СМС любое количество ваших «гаджетов» с ОС Android с установленным на них специальным приложением от SemySMS
  • С другой стороны, идентификация клиента по телефонному звонку возможна через ограниченное число фирму-агрегаторов: на данном этапе это лишь sms.ru и smsc.ru. Так как методы авторизации у этих агрегаторов отличаются, ниже будут показаны оба варинта.
  • Учтите, что услуга доставки клиентам СМС с паролями - платная, и платит за нее Администрация хотспота! (ВСЯ ИНФОРМАЦИЯ О ТОМ, КУДА ОТСЫЛАЮТ И КУДА НЕ ОТСЫЛАЮТ, КОГО ОБСЛУЖИВАЮТ И КОГО НЕ ОБСЛУЖИВАЮТ, ПОЧЕМ ОДНА СМС , И Т.Д. И Т.П. - ЭТО ВСЁ ВОПРОСЫ К ВЫШЕУКАЗАННЫМ АГРЕГАТОРАМ. На их сайтах присутствуют контактные данные и/или формы обратной связи, благодаря которым вы сможете задать все интересующие вас вопросы непосредственно им самим).
  • ИСКЛЮЧЕНИЕ СОСТАВЛЯЮТ ВАРИАНТЫ ProfiSMS И Gammu-Smsd - ОНИ ОБА ИСПОЛЬЗУЮТ GSM/3G-МОДЕМЫ (ИЛИ ТЕЛЕФОНЫ), ПОДКЛЮЧЕННЫЕ НЕПОСРЕДСТВЕННО К САМОМУ СЕРВЕРУ, ЧТО ИЗБАВЛЯЕТ ВАС ОТ НЕОБХОДИМОСТИ ЗАКЛЮЧЕНИЯ ДОГОВОРОВ С АГРЕГАТОРАМИ! 

Непосредственное обслуживание Клиента модулем

Так как модуль позволяет авторизовать клиента двумя разными способами, ниже будут показаны оба алгоритма. При любом способе авторизации меню, в котором клиент должен будет указывать свой телефон, «врезано» в меню хотспота на закладку «Бесплатно».

Авторизация по СМС с паролем

Когда модуль установлен на вашем сервере биллинга и включена авторизация по паролю, отправляемому в СМС, клиенту нужно указать свой номер телефона. Сделать это он может, если на странице авторизации нажмет красную кнопку «МЕНЮ», а в открывшемся меню хотспота выберет закладку «Бесплатно». Меню предложит ему ввести номер его мобильного телефона:

Форма для ввода клиентом номера его телефона

Рис. 1 – Приглашение ввести номер телефона

В предложенной форме Клиент должен ввести номер своего мобильного телефона в т.н. международном формате — код страны, код оператора и собственно сам номер телефона (итого в сумме должно быть 11 или 12 цифр). Попытка ввода 13-й цифры будет пресечена, и страница выдаст клиенту сообщение об ошибке! Попытки ввода вместо цифр любых букв, знаков препинания, пробелов, спецсимволов и пр. также будут безрезультатны — форма их попросту проигнорирует! Проверка номера телефона возложена непосредственно на программу Easyhotspot (она осуществляется уже после того, как клиент нажмет кнопку «Отправить»). В программе создан массив кодов стран и массивы кодов операторов для 15 стран, которые ранее были республиками СССР. Модуль лишь отсылает в программу Easyhotspot запрос с номером, который ввел клиент, и получает ответ, прошел этот номер проверку или нет. Так как, все коды, используемые при проверке программой Easyhotspot, были найдены в интернете, то утверждать, что найденная информация — на 100% полная, не возможно. Поэтому, если телефон, вводимый вами в модуль, однозначно правильный, а модуль утверждает обратное, Администратору нужно будет отредактировать «базу кодов» в программе Easyhotspot. Как это сделать— описано в инструкции к модулю, в разделе «Редактирование кодов стран и операторов». С другой стороны, есть возможность ограничить клиента (а может и «упростить ему жизнь») в процедуре ввода номера телефона. В настройках можно указать код страны принудительно, и клиенту нужно будет вводить только код оператора и номер своего телефона. Код страны модуль подставит автоматически. Как это сделать, также описано в инструкции к модулю.

После того как клиент правильно введет номер своего телефона и нажмет кнопку «Отправить», биллинг сгенерирует для него пару «логин/пароль»* и отошлет их ему в СМС. В меню хотспота клиенту будет выведено соответствующее сообщение об этом:

Сообщение клиенту о том, что пароль был ему отправлен

Рис. 2 - Сообщение клиенту о том, что пароль был ему отправлен

ПРИМЕЧАНИЕ:

  • С целью «упрощения жизни клиента» модуль выдает клиенту в качестве логина его же номер мобильного телефона! А вот пароль будет являться произвольно сгенерированной уникальной последовательностью букв и цифр. Какой будет эта комбинация — только цифры, цифры и буквы, заглавные буквы или только прописные, а также — какое число знаков (цифр и/или букв) будет в пароле — определяется настройками биллинга Easyhotspot (в нем используется единый генератор комбинаций для всех случаев). Как изменить набор символов и длину пароля — см. в разделе «Настройка генератора паролей» инструкции «Индивидуализация вашего хотспота».

После того, как СМС будет отправлена клиенту, страница авторизации «заблокирует» меню хотспота, запретив его сворачивание. Т.е., сообщение, показанное на рис. 2 будет продолжать оставаться на странице до тех пор, пока сам клиент не предпримет какие-то действия. Если клиент нажмет кнопку «ОК» (то же самое произойдет и при щелчке по закладке «Пароль»), то перейдет в меню ввода пароля, в котором в качестве логина уже будет подставлен указанный им номер телефона:

Закладка, на которой клиенту нужно ввести полученный в СМС пароль

Рис. 3 - Закладка, на которой клиенту нужно ввести полученный в СМС пароль

ВАЖНО: Телефон клиента (как логин) будет использован ИМЕННО В МЕЖДУНАРОДНОМ ФОРМАТЕ вне зависимости от того, в каком он его вводил — полном или сокращенном!

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

Как уже было сказано ранее, модуль «экономит» на СМС-ках, отсылаемых клиенту. В случае, если клиент по-новой отправит запрос на получение пароля в то время, пока еще действует его «старый» пароль (полученный им ранее), модуль не станет отсылать новую СМС. Вместо этого он выведет клиенту вот такое сообщение:

Сообщение о том, что старый пароль еще действует

Рис. 4 - Сообщение о том, что старый пароль еще действует

ПРИМЕЧАНИЯ:

  • Такое поведение модуля может быть изменено вами! Модуль может быть настроен так, что он не будет сообщать клиенту о все еще действующем старом пароле, а вместо этого будет отправлять новую СМС. Как должен поступать ваш хотспот, вы сможете настроить самостоятельно. См. раздел «Повторная отправка клиенту СМС с паролем» инструкции, прилагаемой к модулю.
  • «Экономия» не работает в случае, когда клиент авторизуется в хотспоте, NASID которого отличается от того, в котором он получал пароль ранее! Так как Тариф, используемый для выписки ваучера, привязан к NASID хотспота, клиенту не удастся авторизоваться в хотспоте с «новым» NASID, используя пароль, выписанный для «старого» NASID! Поэтому, в таких ситуациях модуль выписывает клиенту НОВЫЙ ваучер, и отсылает ему СМС с НОВЫМ паролем!

Авторизация по звонку на номер, предложенный хотспотом (агрегатор SMS.RU)

Когда модуль установлен на вашем сервере биллинга и включена авторизация по звонку на номер, предложенный хотспотом, клиенту нужно указать свой номер телефона. Сделать это он может, если на странице авторизации нажмет красную кнопку «МЕНЮ», а в открывшемся меню хотспота выберет закладку «Бесплатно». Меню предложит клиенту ввести номер его мобильного телефона:

Приглашение ввести номер телефона

Рис. 5 – Приглашение ввести номер телефона

В предложенной форме Клиент должен ввести номер своего мобильного телефона в т.н. международном формате — код страны, код оператора и собственно сам номер телефона (итого в сумме должно быть 11 или 12 цифр). Попытка ввода 13-й цифры будет пресечена, и страница выдаст клиенту сообщение об ошибке! Попытки ввода вместо цифр любых букв, знаков препинания, пробелов, спецсимволов и пр. также будут безрезультатны — форма их попросту проигнорирует! Проверка номера телефона возложена непосредственно на программу Easyhotspot (она осуществляется уже после того, как клиент нажмет кнопку «Отправить»). В программе создан массив кодов стран и массивы кодов операторов для 15 стран, которые ранее были республиками СССР. Модуль лишь отсылает в программу Easyhotspot запрос с номером, который ввел клиент, и получает ответ, прошел этот номер проверку или нет. Так как, все коды, используемые при проверке программой Easyhotspot, были найдены в интернете, то утверждать, что найденная информация — на 100% полная, не возможно. Поэтому, если телефон, вводимый вами в модуль, однозначно правильный, а модуль утверждает обратное, Администратору нужно будет отредактировать «базу кодов» в программе Easyhotspot. Как это сделать— описано в инструкции к модулю, в разделе «Редактирование кодов стран и операторов». С другой стороны, есть возможность ограничить клиента (а может и «упростить ему жизнь») в процедуре ввода номера телефона. В настройках можно указать код страны принудительно, и клиенту нужно будет вводить только код оператора и номер своего телефона. Код страны модуль подставит автоматически. Как это сделать, также описано в инструкции к модулю.

После того как клиент правильно введет номер своего телефона и нажмет кнопку «Отправить», Easyhotspot сделает служебный запрос на сервер агрегатора sms.ru, и сообщит ему номер клиента. В ответ от сервера sms.ru биллинг получит номер телефона, на который и должен будет позвонить клиент и специальный (служебный) идентификатор запроса. В результате, в меню хотспота клиенту будет выведено соответствующее сообщение о том, на какой номер телефона он должен позвонить:

Сообщение с номером телефона, на который должен перезвонить клиент

Рис. 6 – Сообщение с номером телефона, на который должен перезвонить клиент

С целью «упрощения жизни клиента» в этом меню будет показана кнопка, при нажатии на которую мобильное устройство клиента (смартфон и т. п.) откроет свое приложение «Телефон» (или иное, выполняющее звонки по телефону) с уже подставленным в нем номером телефона, на который нужно позвонить. Клиенту останется лишь нажать кнопку вызова! Увы, данная кнопка может не срабатывать! Это зависит от того, поддерживает ли ОС устройства ссылки с атрибутом «tel:» (обязывающие устройство позвонить на указанный номер телефона).

Агрегатор отводит клиенту лишь 5 минут на звонок для подтверждения своего номера телефона, начиная с того момента, как ему был выдан номер телефона. Если клиент не уложится в указанное время, хотспот выведет ему соответствующее сообщение:

Сообщение о том, что время, отведенное на подтверждение телефона, вышло

Рис. 7 – Сообщение о том, что время, отведенное на подтверждение телефона, вышло

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

Авторизация по звонку от хотспота на номер клиента (агрегатор SMSC.RU)

Когда модуль установлен на вашем сервере биллинга, и включена авторизация по звонку хотспота на номер клиента (агрегатор SMSC.RU), клиенту нужно указать свой номер телефона. Сделать это он может, если на странице авторизации нажмет красную кнопку «МЕНЮ», а в открывшемся меню хотспота выберет закладку «Бесплатно». Меню предложит клиенту ввести номер его мобильного телефона:

Приглашение ввести номер телефона

Рис. 8 – Приглашение ввести номер телефона

В предложенной форме Клиент должен ввести номер своего мобильного телефона в т.н. международном формате — код страны, код оператора и собственно сам номер телефона (итого в сумме должно быть 11 или 12 цифр). Попытка ввода 13-й цифры будет пресечена, и страница выдаст клиенту сообщение об ошибке! Попытки ввода вместо цифр любых букв, знаков препинания, пробелов, спецсимволов и пр. также будут безрезультатны — форма их попросту проигнорирует! Проверка номера телефона возложена непосредственно на программу Easyhotspot (она осуществляется уже после того, как клиент нажмет кнопку «Отправить»). В программе создан массив кодов стран и массивы кодов операторов для 15 стран, которые ранее были республиками СССР. Модуль лишь отсылает в программу Easyhotspot запрос с номером, который ввел клиент, и получает ответ, прошел этот номер проверку или нет. Так как, все коды, используемые при проверке программой Easyhotspot, были найдены в интернете, то утверждать, что найденная информация — на 100% полная, не возможно. Поэтому, если телефон, вводимый вами в модуль, однозначно правильный, а модуль утверждает обратное, Администратору нужно будет отредактировать «базу кодов» в программе Easyhotspot. Как это сделать— описано в инструкции к модулю, в разделе «Редактирование кодов стран и операторов». С другой стороны, есть возможность ограничить клиента (а может и «упростить ему жизнь») в процедуре ввода номера телефона. В настройках можно указать код страны принудительно, и клиенту нужно будет вводить только код оператора и номер своего телефона. Код страны модуль подставит автоматически. Как это сделать, также описано в инструкции к модулю.

После того как клиент правильно введет номер своего телефона и нажмет кнопку «Отправить», Easyhotspot сделает служебный запрос на сервер агрегатора smsc.ru, и сообщит ему номер клиента. Получив номер телефона клиента, сервер smsc.ru наберет его. При получении звонка клиент может его сбросить или поднять трубку. При поднятии трубки система сама сбросит звонок. Последние 4 цифры номера, с которого пришел звонок, и будут являться паролем для доступа в интернет (логин клиента биллинг сформирует сам на основе mac-адреса клиента, nasid хотспота и имени использованного модулем тарифного пакета):

Сообщение о том, что клиент должен запомнить 4 последних цифры номера телефона

Рис. 9 – Сообщение о том, что клиент должен запомнить 4 последних цифры номера телефона

С целью «упрощения жизни клиента», с одной стороны, в этом меню появляется кнопка «OK», при нажатии на которую он переходит на форму ввода логина и пароля. С другой стороны, модуль сам подставляет в упомянутую форму логин клиента. И в завершение — модуль блокирует функцию, которая сворачивает меню авторизации в случае бездействия клиента на протяжении более 20 секунд.

В итоге, получив звонок от агрегатора, клиент запоминает 4 последних цифры номера телефона, с которого поступил вызов, нажимает кнопку «OK» и вводит эти цифры в поле «Пароль»:

Форма авторизации, в которую клиент должен ввести пароль

Рис. 10 – Форма авторизации, в которую клиент должен ввести пароль

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


Инструкция к модулю СМС авторизации

Краткая инструкция о том, как можно самому проверить работу модуля СМС-авторизации на демо-сервере:

Инструкция, описывающая, как проверить работу модуля СМС авторизации на демо-сервере

Приобрести модуль авторизации по СМС модифицированной версии программы Easyhotspot можно онлайн, если перейти по ссылке:

Страница продажи модуля СМС авторизации

 
FB Twitter