Перейти до

Web-интерфейс пользователя


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

Привет, народ! :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

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

 

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

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

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

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

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

 

Функцией "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 користувачів

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

×
×
  • Створити нове...