Биллинговая система Nodeny

Главная категория => Модули для Nodeny => Тема начата: Andrey Zentavr от 11 Ноября 2009, 03:27:30



Название: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 11 Ноября 2009, 03:27:30
На общее пользование/доработку/критику/... вылаживаю написанный мною модуль управления доступом "Всегда онлайн" от имени пользователя.
Сабж был написан из-за проблемы, описанной в этой теме (http://forum.nodeny.com.ua/index.php?topic=281.0). Почему то сработала поговорка, что "Спасение утопающих это дело самих утопающих".
Собственно:
Такую картину пользователь видит, когда попадает в модуль:
(http://xmages.net/out.php/i638314_01main.png) (http://xmages.net/index3.php)

Так он выбирает настройку:
(http://xmages.net/out.php/i638315_02uselect.png) (http://xmages.net/index3.php)

В случае, если всё хорошо, то получает сообщение:
(http://xmages.net/out.php/i638316_03ureply.png) (http://xmages.net/index3.php)

А если попался хакер, то такое сообщение:
(http://xmages.net/out.php/i638317_04userwarn.png) (http://xmages.net/index3.php)

Ну, и в админке видны события, дабы потом знать кто крайний:
(http://xmages.net/out.php/i638318_05logsbill.png) (http://xmages.net/index3.php)

Описание и сам модуль во вложении.
Тестировался на биллинге 50.32
Fredik отписался что всё отлично и на 49.32


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: goletsa от 11 Ноября 2009, 08:54:02
Смысл замазывать IP если он есть на втором скрине :)


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Fredik от 11 Ноября 2009, 10:41:22
+1
49.32


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 11 Ноября 2009, 10:46:52
+1
49.32
Я так понял на 49.32 работает? Кроме смены флага версии никаких телодвижений лишних делать не нужно?

P.S.: У кого получилось запустить на других версиях ядра - отписываемся о ньюансах которые возникли дабы добавить в шапку.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Fredik от 11 Ноября 2009, 11:12:23
да. 49,32
зделал все по инструкции, не каких лишних телодвижений не делал, все взлетело


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: elite от 11 Ноября 2009, 15:46:37
имхо необходимо требовать ввод пароля


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Fredik от 11 Ноября 2009, 16:23:16
зачем? если человек попал на статистику значит пароль он знает


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: goletsa от 11 Ноября 2009, 17:07:09
зачем? если человек попал на статистику значит пароль он знает
Нефакт.
Например при pppoe авторизации пускает в админку без пароля.
Плюс злобный хэккер может попробовать обратиться напрямую к скрипту минуя стадию авторизации.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: elite от 11 Ноября 2009, 17:55:56
зачем? если человек попал на статистику значит пароль он знает
ну включен через авторизатор инет, комп работает, приходит левый чувак, открывает страничку статистики, меняет авторизацию


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Fredik от 11 Ноября 2009, 18:35:46
согласен, нада зделать подтверждение вводом пароля


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 12 Ноября 2009, 08:31:45
Плюс злобный хэккер может попробовать обратиться напрямую к скрипту минуя стадию авторизации.
ИМХО функции проверки подлинности сидящего юзера возле ПиСи возложены на ядро веб-статистики, а не на её модуль.. С таким же успехом тогда можно и пакет соседу поменять, и счёт за него пополнить  ;D ;D ;D


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: VitalVas от 13 Ноября 2009, 18:34:32
а нах абоненту нужно управлять своей авторизацией??
ну модульчик работает без збоев, тестил на своей сети и практически все абоненты виключили у себя авторизацию


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 14 Ноября 2009, 00:25:29
а нах абоненту нужно управлять своей авторизацией??
ну модульчик работает без збоев, тестил на своей сети и практически все абоненты виключили у себя авторизацию
1) Модуль был написан, потому как взвыли после перехода с УТМа, где можно было включить авторизацию в статистике и забыть про клиент-авторизатор.
2) Из-за специфики реализации протокола работы авторизатора и модуля биллинга nol2auth.pl не совсем хорошо выходит, когда у юзера стоит какой-нить асус/длинк/... роутер. Всем перенастроить проброс порта не представляется возможным. Всем раздать ПППоЕ пока тоже нет возможности. Потому было решено - пускай сами решают как им удобно работать.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: smallcms от 14 Ноября 2009, 06:14:08
когда у юзера стоит какой-нить асус/длинк/... роутер. Всем перенастроить проброс порта не представляется возможным. Всем раздать ПППоЕ пока тоже нет возможности.
Абсолютно не имею ничего против вашего варианта и модуля, но почему бы клиентам за роутерами  не раздавать VPN (pptp)? Вполне эффективно имхо и нет беспокойства за кривую маршрутизацию...


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: VitalVas от 14 Ноября 2009, 16:49:26
лутше PPPoE, если PPPTP то будет работать через 3-й уровень модели OSI


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 14 Ноября 2009, 17:45:20
когда у юзера стоит какой-нить асус/длинк/... роутер. Всем перенастроить проброс порта не представляется возможным. Всем раздать ПППоЕ пока тоже нет возможности.
Абсолютно не имею ничего против вашего варианта и модуля, но почему бы клиентам за роутерами  не раздавать VPN (pptp)? Вполне эффективно имхо и нет беспокойства за кривую маршрутизацию...
Так и делаем, раздаём по ПППоЕ. Но нынче RIPE за белые ИПы денюшку хотит, юзеры плотить не желают и волают "СДЕЛАЙТЕ КАК РАНЬШЕ БЫЛО". Компании белые ИП покупать и раздавать на шару тоже не сильно хочется.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: elite от 22 Ноября 2009, 11:58:23
когда у юзера стоит какой-нить асус/длинк/... роутер. Всем перенастроить проброс порта не представляется возможным. Всем раздать ПППоЕ пока тоже нет возможности.
Абсолютно не имею ничего против вашего варианта и модуля, но почему бы клиентам за роутерами  не раздавать VPN (pptp)? Вполне эффективно имхо и нет беспокойства за кривую маршрутизацию...
Так и делаем, раздаём по ПППоЕ. Но нынче RIPE за белые ИПы денюшку хотит, юзеры плотить не желают и волают "СДЕЛАЙТЕ КАК РАНЬШЕ БЫЛО". Компании белые ИП покупать и раздавать на шару тоже не сильно хочется.
раздавай фейковые ип по пппое - проблем-то??


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 22 Ноября 2009, 15:51:31
раздавай фейковые ип по пппое - проблем-то??
Когда пользователь подключается точка-точка и начинает по этому ПППоЕ гонять торренты - серваку станет не совсем хорошо. Можно, конечно, раздать ему по DHCP маршруты в локалку, но локалка без авторизатора не работает. снова возвращаемся к авторизатору. Можно локалку разрешить без авторизатора - тогда должники будут сидеть годами неплатя денег и сидеть через прокси доброго соседа.
Можно нанимать двух парнишек, которые буду бегать и смыкать кабеля должников - но им прийдёться плотить денюшек хотя бы по 1.5к каждому.
Управляемое оборудование ещё не везде внедрено, поэтому выход - пока что этот модуль.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Wallenberg от 26 Марта 2010, 17:52:02
а можно архив поправить ?


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: versus от 26 Марта 2010, 22:14:56
А что с ним не так ?


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Wallenberg от 27 Марта 2010, 03:37:51
сорри, все так) вчера почему то скачивалось только 43кбайта, мистика


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: versus от 27 Марта 2010, 12:01:21
Вчера проблемы с форумом были, возможно из-за этого и не могли скачать.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 25 Ноября 2011, 13:35:47
Биллинг: 50,32

Заметил такую вещь:
Клиент звонит в офис, говорит: "Заблокируйте мне счёт".

Оператор биллинга ставит пакет "Заблокирован" (см. картинку 001), Делает "Доступ: Запрещён"

Клиент заходит в клиентскую статистику, пополняет счёт карточкой. При этом система автоматом меняет "Доступ: Запрещён" на "Доступ: Разрешен".
При попытке авторизироваться авторизатором типа "ключик" клиент посылается нах. Но (!!!) как только он ставит себе всегда онлайн - у него появляется инет!!!

Ковыряя базу биллинга нашел что пакеты имеют разного рода флаги (см. картинку 002). открываем tariff.pl:
Код:
%Flags=(
 'a' => 'разрешить клиентам через клиентскую статистику заказывать данный пакет на следующий месяц',
 'b' => 'если у клиента выбран данный пакет, то клиент не может заказать автоматическую смену пакета в следующем месяце',
 'c' => 'если у клиента выбран данный пакет и разрешено заказывать пакеты, то клиент может заказывать только пакеты из текущего пресета',
 'd' => 'у клиентов данного пакета почтовый ящик должен быть заблокирован',
 'f' => 'невыработанный трафик переносить на следующий месяц',
 'g' => 'для данного тарифа не осуществлять пропорциональное преобразование данных для новых клиентов, т.е. день начала потребления услуг будет установлен в ноль для таких клиентов',
 'h' => 'полностью отключить детализацию трафика',
 'j' => 'ограничение скорости действительно и для трафика между клиентами',
 'k' => 'доступ должен быть заблокирован всегда',
 'm' => 'при появлении денежной переработки разрешить клиенту в клиентской статистике докупить дополнительный пакета в этом же месяце. '.
        'Будет произведено снятие за текущий пакет и выдан новый, который будет активирован с текущего момента. Трафик клиента будет обнулен',
 'n' => 'удвоение скорости в период времени, указанный в тарифе',
 'p' => 'включить скрипты. Лицензирование обязательно!',
 'x' => 'ограничение скорости не действительно для трафика направления 2',
 'y' => 'ограничение скорости не действительно для трафика направления 3',
 'z' => 'ограничение скорости не действительно для трафика направления 4',
);

Видим флаг 'k'.
... далее: скрипт от сателлита фаерволла: /usr/local/nodeny/nofire.pl ну никак не учитывает этот флаг и просто тупо пускает юзера в инет.
Описание таблиц из скрипта (см. картинку 003)
Ни в noserver.pl ни в nol2auth.pl этот флаг не рассматривается.
ЧЯДНТ? :)



Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: 0xbad0c0d3 от 25 Ноября 2011, 14:03:27
Что-то вы путаете. Тариф точно не менял настроек? Там не стоит, что он безлимитный?


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 26 Ноября 2011, 12:53:46
Что-то вы путаете. Тариф точно не менял настроек? Там не стоит, что он безлимитный?

Стоит три галочки:
- если у клиента выбран данный пакет, то клиент не может заказать автоматическую смену пакета в следующем месяце (флаг b)
- у клиентов данного пакета почтовый ящик должен быть заблокирован (флаг d)
- доступ должен быть заблокирован всегда (флаг k)

да как бы и скриншот приложен. Могу наделать больше


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Efendy от 26 Ноября 2011, 13:03:25
Флаг "доступ должен быть заблокирован всегда" нужно проверять не в noserver (nofire) т.к. это создаст проблемы администрации: запись вроде как включена, а инета нет. Нужно чтобы при пополнении счета, при таком флаге запись не переводилась в состояние "вкл". Я сегодня скажу что пофиксить


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: 0xbad0c0d3 от 26 Ноября 2011, 13:06:11
Если в тарифе не указано, что он безлимитный, то юзера в инет не пустит по переработке предоплаченного траффика. Конечно красивости ради было бы хорошо чтобы этот флаг контроллился. У себя, уже давно, сделал триггер в базе, чтобы не править код.


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Efendy от 26 Ноября 2011, 13:08:49
Если в тарифе не указано, что он безлимитный, то юзера в инет не пустит по переработке предоплаченного траффика. Конечно красивости ради было бы хорошо чтобы этот флаг контроллился. У себя, уже давно, сделал триггер в базе, чтобы не править код.
да, с триггером лучше. Но пока для пополнения карт в Scards.pl

Код:
# разрешим доступ, если денег недостаточно - все равно отключит
 &sql_do($dbh,"UPDATE users SET state='on' WHERE id=$Mid OR mid=$Mid");

->

Код:
# разрешим доступ, если денег недостаточно - все равно отключит
 $Plan_flags[$pm->{paket}]!~/k/ && sql_do($dbh,"UPDATE users SET state='on' WHERE id=$Mid OR mid=$Mid");


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 27 Ноября 2011, 22:05:51
Если в тарифе не указано, что он безлимитный, то юзера в инет не пустит по переработке предоплаченного траффика. Конечно красивости ради было бы хорошо чтобы этот флаг контроллился. У себя, уже давно, сделал триггер в базе, чтобы не править код.

Что за триггер?


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 27 Ноября 2011, 22:06:18
Код:
# разрешим доступ, если денег недостаточно - все равно отключит
 $Plan_flags[$pm->{paket}]!~/k/ && sql_do($dbh,"UPDATE users SET state='on' WHERE id=$Mid OR mid=$Mid");

Спасибо!


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: Andrey Zentavr от 10 Января 2012, 15:01:17
И ещё не мешало бы добавить в noserver.pl на сателлите:
Было:
Код:
$auth>0 && !$c{Allow_overlimits} && next;
&Allow_inet($id);
$NowOn{$id}=1;

Стало:
Код:
$auth>0 && !$c{Allow_overlimits} && next;
# Tariff has 'k' flag, so we do not allow the access
$Plan_flags[$paket]=~/k/ && next;
# Finally - allow
&Allow_inet($id);
$NowOn{$id}=1;


Название: Re: Модуль управления доступом "Всегда Онлайн"
Отправлено: a_tem от 30 Апреля 2013, 18:34:33
Спасибо все работает. Только подскажите где поправить- через админку в клиентской статистике все норм, а от абонента пусто.