MobilPass

Возможность удаленного размещения

В стандартной версии MobilPass всю работу по выдаче и отслеживанию паролей выполняет наш сервер, упрощая таким образом установку и настройку услуги, но одновременно лишая ее некоторой гибкости. Учитывая популярность услуги MobilPass среди наших клиентов, мы решили пересмотреть некоторые аспекты ее использования. Так появилась версия с удаленным размещением, преимущества которой перед стандартным MobilPass таковы:
- все пароли хранятся и обрабатываются на Вашей стороне, давая таким образом возможность локально управлять сессиями пользователей;
- Вы можете управлять как внешним видом, так и в определенных пределах принципом работы услуги;
- услуга максимально устойчива к разного рода атакам на наши сервера, перебоям работы сети и т. д.

Внимание: для использования этой версии ключа категорически необходимо понимание общих принципов работы скриптов, исполняемых на стороне сервера, знание PHP, HTML и навыки работы с базами данных. Поддержка по вопросам, связанным с установкой/настройкой скрипта, не предоставляется.

Список тарифов для вашего MobilPass всегда доступен в формате XML по адресу вида

http://pass.mobilcent.com/xml/pass/идентификатор mobilpass

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

префикс идентификатор mobilpass

и быть отправлено на действующий в рамках страны номер, верный для выбранного Вами тарифа.

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

Требования к системе:

PHP >= 4.3

Поддерживаемые СУБД:

MySQL - требует установленного модуля MySQL
SQLite - требует установленного модуля SQLite
PDO:SQLite (объектно-ориентированная версия) - требует установки модулей PDO и SQlite (обычно установлены на PHP >= 5.1)

Процесс установки:

1. распаковать файлы
2. изменить /lib/config.php
3. выставить права на запись на /lib/keys_db
4. выставить права на запись на /lib/local.xml
5. запустить setup.php и удалить его
6. запустить cron.php
7. настроить свой скрипт в соответствии с примером в check.php (после чего его можно удалить)
8. настроить сам Pass в панели управления, указав полный путь к result.php и секретный пароль из конфига

Комплектация:

/lib/config.php - конфигурационный файл, содержащий также базовые функции
/lib/keys_db - сама база
/lib/local.xml XML файл со всеми тарифами
/check.php - пример содержащий необходимый код для показа и проверки паролей
/cron.php - файл отвечает за обновление /lib/local.xml , можно запускать как вручную, так и используя CRON
/result.php - файл отвечает за прием паролей с нашего сервера
/select.php - файл просмотра списка паролей, логин и пароль к нему указываются в /lib/config.php
/setup.php - создает необходимые таблицы в базе

Обратите внимание:

1. Одна база может быть использована для целого ряда MobilPass;
2. При обновлении XML файла, если наш сервер недоступен, файл не обновляется и используется текущая копия. Учитывая, что тарифы меняются редко, это не будет иметь влияния на работу сайта;
3. result.php обязательно должен возвращать HTTP статус 200 OK и слово "OK" в теле ответа.

Ссылки:

Исходный код скрипта находится здесь.