Kucher2 Posted December 18, 2009 Posted December 18, 2009 Привет, народ! Есть такая тема, скрины прилагаю. Написано это мною, по моей собственной нужде и на основе вот этого: http://local.com.ua/forum/topic/4326-modul-kartochek/'>http://local.com.ua/forum/topic/4326-modul-kartochek/ Думаю, уважаемый Bas не обидится, тем более что у меня просто нет возможности с ним связаться. Интерфейс, посредством ввода пользователем логина и пароля для входа в Инет, позволяет осуществить: -> смена тарифа -> заморозка/разморозка счёта -> временное изменение скорости доступа -> выдача временного "белого" IP по требованию -> режим "Всегда онлайн". Т.е. это тот минимум простейших функций, которые частично обеспечивает сам авторизатор. Написан на PHP. Требования такие же, как у бесплатного модуля карточек: http://local.com.ua/forum/topic/4326-modul-kartochek/ Не нужны никакие дополнительные модули, вроде MySQL. Единственное - работает напрямую с файловой базой, с версией консольного конфигуратора, обеспечивающего возможность заморозки/разморозки, смены тарифа, перезаписи полей (файлов conf, поля ud0...ud9) и режима "всегда онлайн". Желательно СТГ не ниже 2.406, иначе придётся модифицировать скрипт на предмет директивы SET в новом sgconf. Я далеко не программер, писал для себя, используя исходники Bas и немного инфы по php, из Инета. Выбрал в качестве шаблона - продукт уважаемого Bas потому, что мало смыслю в php и мне требовались некоторые поцедуры обработки, подноготную которых я не понимаю. Увы, мой код далёк от совершенства, но зато я добился того функционала, которого хотел. Уж коль Bas когда-то решил поделиться своим творением безвозмездно, так и я не вижу причин не сделать то же самое. Коротко: Требования: - операционная система семейства Linux/FreeBSD - веб-сервер Apache - PHP (c установленными pcre.so, session.so) - корректные разрешения на доступ к stat и conf файлам Stargazer'a - биллинговая система Stargazer версии не ниже 2.406 - в противном случае придётся модифицировать скрипты на предмет исключения директивы SET из командной строки консольного конфигуратора - для третьей версии необходим фаерволл pf (под него написаны скрипты) --- Работа скрипта проверялась и описывается на базе: FreeBSD 6.2/8.0, Apache 1.3.37.1...2.2, PHP 5-5.1.6.3 Скачать вторую и третью версии одним архивом.
imroot Posted December 19, 2009 Posted December 19, 2009 НАДА!! Я в силу собственной лени с удовольствием воспользуюсь твоим творением
Kucher2 Posted December 22, 2009 Author Posted December 22, 2009 Добавил ссылку. Просьба писать сюда, если что-то не так. P.S. Ни в Опере, ни в Explorer - не работает расширенная форма сообщений на форуме.
Kucher2 Posted January 9, 2010 Author Posted January 9, 2010 Вы б хоть отзыв тут написали, 11 человек скачало уже.
Watson Posted February 28, 2010 Posted February 28, 2010 Вы б хоть отзыв тут написали, 11 человек скачало уже. Отзыв.Установил, но при смене параметров(тарифа,статуса...и т.д) выбрасывает на чистую страницу , соответсвенно и тариф не меняется.Что может быть.. Ось.Линух. Альт-4.0.1-сервер 64бит.Пхп-5.2.5, Апача-1.3.37. Кто то устанавливал на линух этот мод??
Kucher2 Posted March 2, 2010 Author Posted March 2, 2010 Внимательно читайте инструкцию автора исходников: - Если при срабатывании скрипта выкидывает на пустую страницу, значит не верноуказан путь к скрипту относительно корневой папки веб-сервера. Для исправления данной проблемы: * откройте файл index.php * найдите строку <form method="post" action="index.php"> * ..., и измените параметр action на нужный. * откройте файл addmoney.php * найдите строку <form method="post" action="addmoney.php"> * ..., и измените параметр action на нужный. P.S. Мод проверен, полностью рабочий. Сам доволен как слон, что потратил время на него.
nightfly Posted March 2, 2010 Posted March 2, 2010 открываю страшную тайну: action="" делает ничто иное чем _SELF =)
Watson Posted March 3, 2010 Posted March 3, 2010 открываю страшную тайну: action="" делает ничто иное чем _SELF =) Тайна не помогла , заработало только после отключения в пхп, suhosin.Спасибо автору мод отличный, избавились от массы звонков по поводу смены тарифа
Kucher2 Posted March 3, 2010 Author Posted March 3, 2010 Спасибо автору мод отличный, избавились от массы звонков по поводу смены тарифа Пожалуйста. Раз это кому-то нужно - пошёл писать дополнение. Сюрприз будет.
imroot Posted March 3, 2010 Posted March 3, 2010 О! давай с сюрпризом )) заодно и заюзаю.... ато позабыл совсем о твоём творении
Kucher2 Posted March 5, 2010 Author Posted March 5, 2010 Готово. В этой версии добавил логирование в файл wm.conf, исправил кое-какие мелочи и дополнил модуль функцией, идею которой честно спёр у одной крупной телефонной компании. Услуга "Speed"Даёт возможность пользователю времено увеличить скорость доступа (указывается при использовании) в Интернет и к паритетам, обходя любые ограничения текущего тарифа. Может пригодиться, когда необходимо скачать большой объём данных за короткое время. Продолжительность и стоимость услуги зависит от текущего тарифного плана. Активация мгновенная. ВНИМАНИЕ! Во время активации/деактивации услуги возможно кратковременное нарушение связи. Модуль по прежнему не идеален, в его файлах сущестует несколько прямых ссылок сродни /var/stargazer/wm, так что если у Вас СТГ установлен в нестандартный для него каталог - придётся полазить и поисправлять. Позже это устраню, как время будет. Снабдил всё комментами, думаю разберётесь. Комментов больше чем кода. Так же читайте README.txt Ссылку в первом посте обновил. P.S. Я так и не могу редактировать свой пост в расширенном режиме (у меня Opera). В файле README есть ошибка в правилах ipfw queue - там в queue указаны "статические" адреса. Ошибка некритична для тех, кто понимает что делает и вообще эти правила созданы мной для паритетов, так что если у вас система другая - можно смело их удалить. Архив перезаливать не буду пока.
napTu Posted April 3, 2010 Posted April 3, 2010 спасибо, беру за основу, хочу реализовать в т.ч. авторизацию через веб путем выставления и снятия галки always_online
Kucher2 Posted April 4, 2010 Author Posted April 4, 2010 спасибо, беру за основу, хочу реализовать в т.ч. авторизацию через веб путем выставления и снятия галки always_online Всем пожалуйста, рад что вам это пригодилось. Я над этим думал. Первое что приходит в голову - вариант автоизации на время по выбору: час, два, сутки и т.д. Да вот только неудобно это и юзверю часто лень заходить на страничку - точно оставит открытыми правила когда-нибудь, а это дыра лишняя. Пингговать его - дык фаерволл на его машине может закрывать пинги. И вообще не вижу смысла морочиться. "Всегда онлайн" сделал для владельцев роутеров, им-то не нужно клацать Инетом туда-сюда. Остальным пользователям по-прежнему рекомендую авторизатор. Функцией "Speed" у меня пользуются кстати. Немного, но регулярно. Я её 2 грн сделал только.
napTu Posted May 13, 2010 Posted May 13, 2010 у меня вот во что вылилось (язык perl+mysql + https сервер)
napTu Posted May 14, 2010 Posted May 14, 2010 Для заинтересовавшихся - исходник. Заточено под текстовую БД stg, в связи с этим достаточно жестко привязано к собственным разработкам для облегчения работы с этой БД. В частности, инфо о состоянии подключенности абонента снимается из файла /usr/stg/usr/user$unum, который пишется из скрипта OnConnect и очищается из OnDisconnect. Номер пользователя снимается из файла /usr/stg/usernum, кот.формирутся с использование команды ls -lf /usr/stg/var/users/ | grep drw . Под хранение данных о подключившихся небходима БД mysql с таблицей inauth, полями time:int16, user:string Также sgconf c возможностью менять always-online index.zip
Kucher2 Posted May 14, 2010 Author Posted May 14, 2010 Я хотел у себя ещё возможность смены реал-IP домалевать, но передумал - особо морочиться не захотел. В целом функционал меня устраивает, я ведь свою версию именно под файловую базу делал, а у вас mysql.
napTu Posted May 14, 2010 Posted May 14, 2010 я ведь свою версию именно под файловую базу делал, а у вас mysql. Заточено под текстовую БД stg Под хранение данных о подключившихся небходима БД mysql
Kucher2 Posted May 14, 2010 Author Posted May 14, 2010 Ну так я и говорю, я пытался уйти от доп. ПО, чтоб не надо было ничего из портов больше ставить. По логике php есть почти везде.
napTu Posted May 14, 2010 Posted May 14, 2010 в таком случае прийдется решить достаточно сложный вопрос - возможность одновременной записи в файл от разных пользователей, или плодить кучу файлов. А с БД всё просто - она сама всё делает.
Kucher2 Posted May 14, 2010 Author Posted May 14, 2010 Хм. Насколько я помню логику своего варианта личной странички - там всё построено на sgconf и рулится всё исключительно через него, php лишь читает данные из конфигурационных файлов юзеров на основе введённого логина и пароля.
Kucher2 Posted June 30, 2010 Author Posted June 30, 2010 Добавил функцию "Реал IP". Позволяет получить один из свободных "белых" IP-адресов на некоторое время.Бывает необходима в совокупности с услугой "Speed", в случаях когда требуется чтобы к Вашему ПК имел доступ кто-то "из вне" и т.д. Так же может использоваться для доступа к файлообменникам или для игр. Можно блокировать доступ к функции для определённых логинов (а если у кого-то из юзеров уже есть реал IP, то так и надо делать). Выдача IP основана на принципе работы pf, утилите "pfctl" и том факте, что реал IP уже прописаны у Вас алиасами на внешнем ИФ сервера. Внимание! Для 3-й версии необходима стенка PF - под этот фаерволл писались скрипты. Внимательно читайте README.txt!!! Ссылки тут: http://local.com.ua/forum/topic/19609-web-interfeis-polzovatelja/page__view__findpost__p__144010
Небесный Posted October 22, 2010 Posted October 22, 2010 Ребята, как можно вытянуть из базы детальную статистику по денежным операциям, например, когда было пополнение, как идет снятие денег и все это за всю историю, сколько есть в стж в логе.
Kucher2 Posted October 23, 2010 Author Posted October 23, 2010 Да простым скриптом из файла /var/log/stargazer.log можно вытащить такие данные. Вот только поскольку он постоянно растёт - неплохо бы перекидывать данные в отдельный файлик и работать уже с ним, иногда дополняя. Сам stargazer.log можно обнулять время от времени, резервируя перед этим в архив. Например у меня вот так реализован поиск пополнений Инета и формирование странички в виде списка (пополняют все посредством модуля кассира для СТГ, тут на форуме он есть). Для юзеров это можно сделать аналогично. #!/bin/sh users=`grep 'happy' /var/log/stargazer.log | cut -d" " -f1,2,8,13,15` echo "$users" > /usr/local/www/happy/happy.txt a=`grep -c "" /usr/local/www/happy/happy.txt` a=`expr $a + 0` echo .... $a f=0 echo "<?hph" > /usr/local/www/happy/happy.php echo "?>" >> /usr/local/www/happy/happy.php echo "<a href=\"http://10.0.0.10/happy/stathappy.php\">Статистика пополнений</a><br><br>" >> /usr/local/www/happy/happy.php echo "<u>HAPPY - Текущие пополнения</u><br><br>" >> /usr/local/www/happy/happy.php while expr $a \> 0 do b=`awk NR==$a /usr/local/www/happy/happy.txt` c=`echo $b|cut -d" " -f4 | cut -d"'" -f2` d=`echo $b|cut -d" " -f5 | cut -d"'" -f2` user2=`echo $b|cut -d" " -f1-3` e=`echo "$d - $c"|bc -l` f=`echo "$f + $e"|bc -l` x=`echo "$e" | cut -d"." -f1` z=`echo "$e" | cut -d"." -f2 | cut -c1-2` echo $user2 $x"."$z"<br>" >> /usr/local/www/happy/happy.php a=$(($a - 1)) g=$(($g + 1)) done x=`echo $f | cut -d"." -f1` z=`echo $f | cut -d"." -f2 | cut -c1-2` echo "<br>Итого: <b>"$x"."$z"</b><br><br>" >> /usr/local/www/happy/happy.php rm -R /usr/local/www/happy/happy.txt exit Результат работы: Писал давно и на скорую руку, так что прошу не пинать. Второй скрипт, скидывающий текущие пополнения в архивный список не привожу, но думаю и так ясно.
madf Posted October 25, 2010 Posted October 25, 2010 А еще можно брать эти данные при выполнении скрипта OnChange.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now