Перейти до

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

Опубликовано:

Привет, народ! :huh:

Есть такая тема, скрины прилагаю.

Написано это мною, по моей собственной нужде и на основе вот этого:

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

 

Скачать вторую и третью версии одним архивом.

760c5190c997t.jpg

post-3670-1261171942,7608_thumb.jpg

post-3670-1261171951,1944_thumb.jpg

post-3670-1261171955,9266_thumb.jpg

Опубліковано:

Добавил ссылку.

Просьба писать сюда, если что-то не так.

P.S. Ни в Опере, ни в Explorer - не работает расширенная форма сообщений на форуме. :huh:

  • 3 weeks later...
  • 1 month later...
Опубліковано:

Вы б хоть отзыв тут написали, 11 человек скачало уже. :blink:

Отзыв.Установил, но при смене параметров(тарифа,статуса...и т.д) выбрасывает на чистую страницу , соответсвенно и тариф не меняется.Что может быть..

Ось.Линух. Альт-4.0.1-сервер 64бит.Пхп-5.2.5, Апача-1.3.37. Кто то устанавливал на линух этот мод??

Опубліковано:

Внимательно читайте инструкцию автора исходников:

- Если при срабатывании скрипта выкидывает на пустую страницу, значит не верно

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

данной проблемы:

* откройте файл index.php

* найдите строку <form method="post" action="index.php">

* ..., и измените параметр action на нужный.

* откройте файл addmoney.php

* найдите строку <form method="post" action="addmoney.php">

* ..., и измените параметр action на нужный.

 

P.S. Мод проверен, полностью рабочий. Сам доволен как слон, что потратил время на него. :)

Опубліковано:

открываю страшную тайну: action="" делает ничто иное чем _SELF =)

Тайна не помогла :) , заработало только после отключения в пхп, suhosin.Спасибо автору мод отличный, избавились от массы звонков по поводу смены тарифа

Опубліковано:
Спасибо автору мод отличный, избавились от массы звонков по поводу смены тарифа

Пожалуйста. :) Раз это кому-то нужно - пошёл писать дополнение. Сюрприз будет. :D

Опубліковано:

Готово.

В этой версии добавил логирование в файл wm.conf, исправил кое-какие мелочи и дополнил модуль функцией, идею которой честно спёр у одной крупной телефонной компании. :)

Услуга "Speed"

Даёт возможность пользователю времено увеличить скорость доступа (указывается при использовании) в Интернет и к паритетам, обходя любые ограничения текущего тарифа.

Может пригодиться, когда необходимо скачать большой объём данных за короткое время. Продолжительность и стоимость услуги зависит от текущего тарифного плана.

Активация мгновенная. ВНИМАНИЕ! Во время активации/деактивации услуги возможно кратковременное нарушение связи.

8ecd0a222e64.jpg70feb6dc675f.jpg

Модуль по прежнему не идеален, в его файлах сущестует несколько прямых ссылок сродни /var/stargazer/wm, так что если у Вас СТГ установлен в нестандартный для него каталог - придётся полазить и поисправлять. Позже это устраню, как время будет.

Снабдил всё комментами, думаю разберётесь. Комментов больше чем кода. :)

Так же читайте README.txt

Ссылку в первом посте обновил.

 

P.S. Я так и не могу редактировать свой пост в расширенном режиме (у меня Opera).

В файле README есть ошибка в правилах ipfw queue - там в queue указаны "статические" адреса. Ошибка некритична для тех, кто понимает что делает и вообще эти правила созданы мной для паритетов, так что если у вас система другая - можно смело их удалить. Архив перезаливать не буду пока.

  • 4 weeks later...
Опубліковано:

спасибо, беру за основу, хочу реализовать в т.ч. авторизацию через веб путем выставления и снятия галки always_online

Опубліковано:

спасибо, беру за основу, хочу реализовать в т.ч. авторизацию через веб путем выставления и снятия галки always_online

Всем пожалуйста, рад что вам это пригодилось. :)

 

Я над этим думал. Первое что приходит в голову - вариант автоизации на время по выбору: час, два, сутки и т.д.

Да вот только неудобно это и юзверю часто лень заходить на страничку - точно оставит открытыми правила когда-нибудь, а это дыра лишняя.

Пингговать его - дык фаерволл на его машине может закрывать пинги. И вообще не вижу смысла морочиться.

"Всегда онлайн" сделал для владельцев роутеров, им-то не нужно клацать Инетом туда-сюда.

Остальным пользователям по-прежнему рекомендую авторизатор.

 

Функцией "Speed" у меня пользуются кстати. Немного, но регулярно. Я её 2 грн сделал только.

  • 1 month later...
Опубліковано:

Для заинтересовавшихся - исходник.

Заточено под текстовую БД 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

Опубліковано:

Я хотел у себя ещё возможность смены реал-IP домалевать, но передумал - особо морочиться не захотел.

В целом функционал меня устраивает, я ведь свою версию именно под файловую базу делал, а у вас mysql.

Опубліковано:

я ведь свою версию именно под файловую базу делал, а у вас mysql.

 

Заточено под текстовую БД stg
Под хранение данных о подключившихся небходима БД mysql
Опубліковано:

Ну так я и говорю, я пытался уйти от доп. ПО, чтоб не надо было ничего из портов больше ставить. По логике php есть почти везде.

Опубліковано:

в таком случае прийдется решить достаточно сложный вопрос - возможность одновременной записи в файл от разных пользователей, или плодить кучу файлов. А с БД всё просто - она сама всё делает.

Опубліковано:

Хм. Насколько я помню логику своего варианта личной странички - там всё построено на sgconf и рулится всё исключительно через него, php лишь читает данные из конфигурационных файлов юзеров на основе введённого логина и пароля.

  • 1 month later...
Опубліковано:

Добавил функцию "Реал 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

 

760c5190c997t.jpg

  • 3 months later...
Опубліковано:

Ребята, как можно вытянуть из базы детальную статистику по денежным операциям,

например, когда было пополнение, как идет снятие денег и все это за всю историю, сколько есть в стж в логе.

Опубліковано:

Да простым скриптом из файла /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

 

Результат работы:

97ebe5f47dd4.jpg

 

Писал давно и на скорую руку, так что прошу не пинать. :)

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

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

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

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

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

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

Вхід

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

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

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