Перейти до

Ubilling + Android


Рекомендованные сообщения

Задумали для пользователей создать Android приложение для работы с личным кабинетом.

post-27933-0-16557200-1399760440_thumb.png

post-27933-0-15811400-1399760445_thumb.png

 

Набросали простенький интерфейс (потом допилим виджет) и начали думать как подтягивать данные.

Дабы не парсить полученные страницы - первое что пришло в голову:

Программа посылает запрос скрипту размещенному возле биллинга, который в свою очередь имея read-only доступ к mysql базе биллинга, проводит проверку связки логин+пароль и выдает данные о балансе пользователя.

Дополнительно в скрипте планируется организовать защиту от перебора.

 

Возможно есть идеи как упростить, или обезопасить задачу?

Благодарю.

Відредаговано NET-CREATOR
Ссылка на сообщение
Поделиться на других сайтах

 

Дабы не парсить полученные страницы - первое что пришло в голову:

 

1. Я не знаю какое отношение ваш топик имеет к Stargazer.

2. http://wiki.ubilling.net.ua/doku.php?id=userstats - смотрите как работает UBA_ENABLED

 

 

Возможно есть идеи как упростить, или обезопасить задачу?

Хотя, если немного подумать, было бы круто врезать какой-то полноценный ААА + что-то типа xml rpc для таких вещей. Тоже в принципе никаких проблем не вижу.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

1. Я не знаю какое отношение ваш топик имеет к Stargazer.

2. http://wiki.ubilling.net.ua/doku.php?id=userstats - смотрите как работает UBA_ENABLED

Прошу прощения. По возможность перенесите в более подходящий раздел.

 

Что касается UBA, то его схема функционирования, как я понимаю, предусматривает получение информации после проверки IP. 

В случае с приложение на смартфон - доступ будет проводиться из вне с разных адресов, поэтому аутентификация должна быть только связкой логин+пароль. 

Хотя, если немного подумать, было бы круто врезать какой-то полноценный ААА + что-то типа xml rpc для таких вещей. Тоже в принципе никаких проблем не вижу.

Безусловно, но лезть в код биллинга не хватить знаний, да и смысла нет - потом гарантированы проблемы при обновлениях и другие неприятности.

Поэтому и думаем реализовать отдельным скриптом и обращаться напрямую к базе.

 

p.s.

UBA для Windows при запуске постоянно ругается:

post-27933-0-83953600-1399791885.png

качал отсюда http://ubilling.net.ua/ubagent001.tar.gz

WIN8corp_6.2.9200

Відредаговано NET-CREATOR
Ссылка на сообщение
Поделиться на других сайтах

 

Что касается UBA, то его схема функционирования, как я понимаю, предусматривает получение информации после проверки IP.

Вы будете смеяться, но тем же zbs_UserDetectIp() производиться и авторизация по паре логин/пароль.

 

 

В случае с приложение на смартфон - доступ будет проводиться из вне с разных адресов, поэтому аутентификация должна быть только связкой логин+пароль.

Это тоже самоочевидно.

Итого просто выставляете при обращении у себя два кукиза ulogin и upassword. Вот и вся авторизация.

 

 

Безусловно, но лезть в код биллинга не хватить знаний, да и смысла нет - потом гарантированы проблемы при обновлениях и другие неприятности.

Опять же, можно в принципе написать все это одним отдельным модулем кабинета пользователя, по дороге разворачивая его при апдейтах автообновлятором.

 

 

Поэтому и думаем реализовать отдельным скриптом и обращаться напрямую к базе.

Учитывая наличие у вас на скриншоте таких штук как морозильник, попрошайка, карточки, тарифоменялка и прочих активных вещей, заведомо настраиваемых и общающихся с конфигураторами stargazer-a - в случае использования какого-то "внешнего скрипта" вам придется банально переписать весь КП с нуля.

 

 

p.s.

UBA для Windows при запуске постоянно ругается:

Вполне себе возможно, что он не смог получить данные от кабинета, засим и не заполнил кеш грида. Точнее надо бы смотреть по исходниках, если их еще найду.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • Від ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
×
×
  • Створити нове...