powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Портал авторизации хотспота, как лучше сделать?
8 сообщений из 8, страница 1 из 1
Портал авторизации хотспота, как лучше сделать?
    #38560679
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть биллинговая система, включающая в себя RADIUS-сервер.
Данные хранятся в СУБД Oracle.
Оба сервера (и биллинг, и БД) работают под управлением RHLE (64-битной).

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

Проблема заключается в том, что для 64-разрядной FreeBSD не существует клиента Oracle.
Соответственно подключиться к БД и проверить абонента нельзя.

Пока что я только четыре способа нашел решить эту проблему.

1. Для FreeBSD все же существует клиент Oracle для JDBC (для работы ява-приложений). То есть можно установить ява-машину, JDBC, и в скрипте подключаться к БД через JDBC.
Вариант вроде бы рабочий, но уж очень костыльный. Да и на PHP работать с JDBC не очень просто.

2. На сервере СУБД Oracle имеется DBI-Proxy. Можно написать на Perl скрипт, который будет подключаться через dbiproxy к биллинговой БД, загружать нужные данные (список абонентов с подключенной опцией) в локальную БД. А скрипт авторизации будет подключаться уже к локальной БД. У такого подхода есть и некоторые плюсы (у веб-сервера не будет связи с биллинговой БД на случай если в коде будут уязвимости), но основной минус с том, что актуальные данные будут запаздывать. Если скрипт синхронизации будет запускаться (к примеру) каждый час, значит в худшем случае абонент после подключения опции не сможет подключиться к хотспоту в течении почти часа.

3. На сервере FreeBSD установить линукслятор (или другой подобный эмулятор Linux) и использовать Oracle-клиент для Linux. Все вроде бы хорошо, но у меня так и не получилось из скрипта использовать линуксовый Oracle-клиент. То ли под эмулятором должно быть все, что использует клиент (в том числе PHP с Apache), то ли еще что, но не работает.

4. В скрипте авторизации можно проверять наличие нужной услуги у абонента не в БД, а через RADIUS-сервер. То есть я из скрипта авторизации шлю RADIUS-запрос к биллингу и в зависимости от ответа авторизую абонента на портале или отказываю в авторизации. Выглядит красиво, но насколько я понимаю, мне нужно будет эмулировать ISG, а PHP не очень подходит для написания серверов.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561014
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561188
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему проще будет использовать SOA.
На стороне биллинговой системы, Oracle или где-то рядом сделать сервис (JSON-RPC(REST) или XML-RPC(WSDL)),
и из PHP дергать его.
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561195
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что должна сказать эта ссылка?
Что такое RADIUS я знаю.
И сделать радиус-запрос я тоже смогу.
В пятом варианте меня беспокоит то, что возможно потребуется реализовать ISG-шлюз. Если этого не потребуется, то хорошо.
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561202
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рубистПо моему проще будет использовать SOA.
У меня все сервера, кроме биллинга и СУБД, работают под FreeBSD.
А ставить сторонний софт на биллинг или СУБД без крайней необходимости я бы не хочет.
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561216
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

А вы виртуализацией не пользуетесь? рабочие OS ставите прямо на "железо"?
Что сложного, поставить легковесную VPS (vmware, kvm, virtuozzo\openvz) на том же RHEL и сделать там (на чем угодно, хоть на PHP) небольшой сервис отдающий json или xml
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561396
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рубистА вы виртуализацией не пользуетесь? рабочие OS ставите прямо на "железо"?
Биллинг и БД да, разработчик рекомендует не использовать виртуальную среду.
Остальные сервера тоже, железо там не слишком мощное, чтобы организовать виртуальную инфраструктуру.
Есть пара виртуальных серверов на VirtualBox (под FreeBSD это единственное более-менее стабильное решение), но нагрузки на них серьезной нет.
...
Рейтинг: 0 / 0
Портал авторизации хотспота, как лучше сделать?
    #38561478
рубист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

Виртуализация может быть очень легковесной (у openvz побочные затраты мощности сервера на виртуализацию меньше 1%)
Я openvz и kvm использую на рабочем компе для экспериментов (минимум пара виртуалок крутится всегда) процессор i5.
Сейчас процессоры делают с аппаратной поддержкой виртуализации, так что kvm или vmware держать тоже не сильно накладно.
Правда у FreeBSD с этим не все так хорошо как в RHEL или Debian ....

Но мы не об этом.
Я думаю, что для вас, то что я уже предложил, будет проще чем всякие jdbc к php, эмуляторы Linux,
dbi-proxy или подключение к radius. Раз вам PHP ближе, то вoзьмите что-то типа http://www.slimframework.com/,
сделайте аля-REST api и поставте его на RHEL (куда вам удобней).
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Портал авторизации хотспота, как лучше сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]