Личный кабинет на готовом движке

Технические вопросы по UTM 5.0
Закрыто
y(x)
Сообщения: 85
Зарегистрирован: Чт апр 26, 2007 12:03

Сообщение y(x) »

Kayfolom писал(а):А чем не устраивает проверка по логину-паролю аккаунта?
1.Пользователи уже заведены скриптом логины xxx000.002 ... xxx010.254 к ним сразу добавлены соответсвующие IP, "продвинутым кассирам" нужно менять только логин и пароль в сервисной связке.
2.У пользователей и "продвинутых кассиров" взорвётся мозг из-за двух разных логинов (а их необходимо делать разными). Они просто напросто запутаются.
Kayfolom писал(а): Переписать пару строк на проверку по логину-паролю ip-группы не сложно, просто можно дергать sql запросом из базы, из таблицы ip_groups.
Не хочется где где-то в директории джумлы хранить логин и пароль от БД биллинга, это существенно нарушает безопасность

995533-g
Сообщения: 26
Зарегистрирован: Пн мар 16, 2009 10:52

Сообщение 995533-g »

995533-g писал(а):Не подскажите как можно сделать, чтобы при выключении выключении интернета устанавливался тип блокировки с "да" на "нет" и наоборот
всем спасибо, тоже сам решил задачу

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

y(x) писал(а):
Kayfolom писал(а):А чем не устраивает проверка по логину-паролю аккаунта?
1.Пользователи уже заведены скриптом логины xxx000.002 ... xxx010.254 к ним сразу добавлены соответсвующие IP, "продвинутым кассирам" нужно менять только логин и пароль в сервисной связке.
2.У пользователей и "продвинутых кассиров" взорвётся мозг из-за двух разных логинов (а их необходимо делать разными). Они просто напросто запутаются.
Kayfolom писал(а): Переписать пару строк на проверку по логину-паролю ip-группы не сложно, просто можно дергать sql запросом из базы, из таблицы ip_groups.
Не хочется где где-то в директории джумлы хранить логин и пароль от БД биллинга, это существенно нарушает безопасность
Ну напрямую в базе проверять - это всего лишь вариант, хоть и простейший. Тоже самое можно через urfa-php делать. Или еще проще и безопаснее - делаете stored procedure, в параметрах ей передаете логин и пароль ip-группы, на выходе получаете true|false, ну и пользователя делеаете к базе только с правами запуска конкретно этой процедуры, с конкретного хоста (в mysql ведь это возможно?) - все, безопаснотть на уровне, ибо этот доступ злоумышленнику ровным счетом ничего не даст, кроме возможности классического перебора (да еще и с нужного хоста).

995533-g
Сообщения: 26
Зарегистрирован: Пн мар 16, 2009 10:52

Сообщение 995533-g »

Кто подскажет как сделать вход не по логину и пароль а по IP адресу? причем IP стоит как имя пользователя в сервисной связке...

995533-g
Сообщения: 26
Зарегистрирован: Пн мар 16, 2009 10:52

Сообщение 995533-g »

995533-g писал(а):Кто подскажет как сделать вход не по логину и пароль а по IP адресу? причем IP стоит как имя пользователя в сервисной связке...
ну кто нибудь подскажет?) :)

y(x)
Сообщения: 85
Зарегистрирован: Чт апр 26, 2007 12:03

Сообщение y(x) »

995533-g писал(а):
995533-g писал(а):Кто подскажет как сделать вход не по логину и пароль а по IP адресу? причем IP стоит как имя пользователя в сервисной связке...
ну кто нибудь подскажет?) :)
у меня был аналогичный вопрос, смотри ответ Kayfolom'a

p.s. я всё-таки решил не заморачиваться и использовать два пароля (для ЛК и VPN) с одним логином

edison
Сообщения: 68
Зарегистрирован: Сб авг 15, 2009 11:34

Сообщение edison »

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

Вот вам подарок смена паролей на личный кабинет и интернет соединение, и всего лишь заостряю внимание что есть такое а не как ты писал что там на все один пароль!!!

Код: Выделить всё

<?php 

defined&#40; '_JEXEC' &#41; or die&#40; 'Restricted access' &#41;; 

@ini_set&#40;"display_errors", "1"&#41;; 
error_reporting&#40;E_ALL&#41;; 

jimport&#40; 'joomla.plugin.plugin' &#41;; 

require_once&#40;"./urfa/URFAClient.php"&#41;; 

$mainframe->registerEvent&#40; 'onPrepareContent', 'plgUserPasswordChange' &#41;; 

function plgUserPasswordChange&#40;&$row, &$params, $page=0&#41;&#123; 
    $pos = strpos&#40;$row->text, '&#123;user_password_change&#125;'&#41;; 
    if &#40;$pos > 0&#41; &#123; 
        $row->text = preg_replace&#40;'/&#123;user_password_change&#125;/', '', $row->text&#41;; 

                try &#123; 
                $urfa_user5 = new URFAClient_User5&#40;$_SESSION&#91;'URFA'&#93;&#91;'login'&#93;, $_SESSION&#91;'URFA'&#93;&#91;'password'&#93;&#41;; 
                &#125; catch &#40;Exception $exception&#41; &#123; 
                        echo "Error in line ", $exception->getLine&#40;&#41;; 
                        echo $exception->getMessage&#40;&#41;; 
                        exit; 
                &#125; 

                try &#123; 
            $services = $urfa_user5->rpcf_user5_get_services&#40;&#41;; 
                &#125; catch &#40;Exception $exception&#41; &#123; 
                        echo "Error in line ", $exception->getLine&#40;&#41;; 
                        echo $exception->getMessage&#40;&#41;; 
                &#125; 

                $service_type = 3; // Передача тарфика 
                $service_traff_index = 0; 
                for &#40;$i=0;$i<$services&#91;'count'&#93;;$i++&#41; &#123; 
                        if &#40;$services&#91;'services'&#93;&#91;$i&#93;&#91;'service_type'&#93;==$service_type&#41; &#123; 
                                $service_traff_index = $i; 
                                break; 
                        &#125; 
                &#125; 

@$btn1=$_POST&#91;'btn1'&#93;; 
@$btn2=$_POST&#91;'btn2'&#93;; 
@$btn3=$_POST&#91;'btn3'&#93;; 
@$slink_id=$_POST&#91;'slink_id'&#93;; 
@$uname_id=$_POST&#91;'uname_id'&#93;; 

$change_password_message = ''; 
$form_change_password = ''; 
$form1 = ''; 
$form2 = ''; 

if &#40;&#40;$btn1==0&#41; and &#40;$btn2==0&#41; and &#40;$btn3==0&#41;&#41; 
&#123; 
    $form1 = '<font color=red>Внимание!</font> При смене паролей будьте внимательны! Сменив пароль не забудьте его записать или запомнить!<br> 
         В случае утери пароля необходимо обратиться в офис компании с паспортом для восстановления паролей<br></br>'; 

    $form1 .= '<div>Доступ к статистике</div>'; 

    $form1 .= '<table class=tab_traf0> 
           <tr class=tab_traf> 
            <td class=tab_traf>Логин</td> 
            <td class=tab_traf>Пароль</td> 
           </tr> 
           <tr> 
            <td class=tab_traf>'.$_SESSION&#91;'URFA'&#93;&#91;'login'&#93;.'</td> 
            <td class=tab_traf> 
              <form action="" method="post" name="ff1"> 
               <input type=hidden value="1" name=btn1> 
               <input type=hidden value="0" name=btn2> 
                <A href="JavaScript&#58;document.ff1.submit&#40;&#41;;">Сменить</a> 
              </form> 
            </td> 
           </tr> 
           </table>'; 



                $slink = $services&#91;'services'&#93;&#91;$service_traff_index&#93;&#91;'id'&#93;; 
                $services_info = $urfa_user5->rpcf_user5_get_services_info&#40;$services&#91;'services'&#93;&#91;$service_traff_index&#93;&#91;'id'&#93;&#41;;  //-0x4024 

                $ip = ''; 
                $item_id = ''; 
                $mask = ''; 
                $login2 = ''; 

        $form2 .= '<div class="head">Доступ в интернет</div><div id=br2></div>'; 
        $form2 .= '<table class=tab_traf0> 
               <tr class=tab_traf> 
                <td class=tab_traf>Логин</td> 
                <td class=tab_traf>IP</td> 
                <td class=tab_traf>Mask</td> 
                <td class=tab_traf>Пароль</td> 
               </tr>'; 

                for &#40;$i=0;$i<$services_info&#91;'ipgroup_size'&#93;;$i++&#41; &#123; 
                        $item_id = $services_info&#91;'ipgroup_size_list'&#93;&#91;$i&#93;&#91;'item_id'&#93;; 
                        $ip = $services_info&#91;'ipgroup_size_list'&#93;&#91;$i&#93;&#91;'ip'&#93;; 
                        $mask = $services_info&#91;'ipgroup_size_list'&#93;&#91;$i&#93;&#91;'mask'&#93;; 
                        $login2 = $services_info&#91;'ipgroup_size_list'&#93;&#91;$i&#93;&#91;'login'&#93;; 
        if &#40;$login2!=''&#41; &#123; 
                  $form2 .= '<tr> 
                  <td class=tab_traf>'.$login2.'</td> 
                  <td class=tab_traf>'.$ip.'</td> 
                  <td class=tab_traf>'.$mask.'</td> 
                  <td class=tab_traf> 
                  <form action="" method="post" name="ff22'.$i.'"> 
                      <input type=hidden value='.$slink.' name=slink_id> 
                      <input type=hidden value='.$item_id.' name=uname_id> 
                      <input type=hidden value="0" name=btn1> 
                      <input type=hidden value="1" name=btn2> 
                      <A href="JavaScript&#58;document.ff22'.$i.'.submit&#40;&#41;;">Сменить</a> 
                    </form> 
                  </td> 
                 </tr>'; 
        &#125; 
        &#125; 
        $form2 .= '</table>'; 


&#125; 
if &#40;&#40;$btn1==1&#41; and &#40;$btn2==0&#41;&#41;&#123; 
//Смена пароля к статистике 
//***************** Обработка смены пароля к статистике 
        $change_password_message = ''; 
        $urfa_old_password = JRequest&#58;&#58;getVar&#40;'urfa_old_password'&#41;; 
        $urfa_new_password = JRequest&#58;&#58;getVar&#40;'urfa_new_password'&#41;; 
        $urfa_new_password_ret = JRequest&#58;&#58;getVar&#40;'urfa_new_password_ret'&#41;; 
        if &#40;isset&#40;$urfa_old_password&#41; && isset&#40;$urfa_new_password&#41; && isset&#40;$urfa_new_password_ret&#41;&#41; &#123; 
                if &#40;$urfa_old_password!='' && $urfa_new_password!='' && $urfa_new_password_ret!=''&#41; &#123; 
                        if &#40;$urfa_old_password==$_SESSION&#91;'URFA'&#93;&#91;'password'&#93;&#41; &#123; 
                                if &#40;$urfa_new_password==$urfa_new_password_ret&#41; &#123; 
                                                try &#123; 
                                                        $urfa_user5 = new URFAClient_User5&#40;$_SESSION&#91;'URFA'&#93;&#91;'login'&#93;, $_SESSION&#91;'URFA'&#93;&#91;'password'&#93;&#41;; 
                                                    &#125; catch &#40;Exception $exception&#41; &#123; 
                                                         echo "Error in line ", $exception->getLine&#40;&#41;; 
                                                     echo $exception->getMessage&#40;&#41;; 
                                                        &#125; 
                                                $res = $urfa_user5->rpcf_user5_change_password&#40;$urfa_old_password,$urfa_new_password,$urfa_new_password_ret&#41;;  //-0x4021 
                                        if &#40;$res&#91;'result'&#93;==1&#41; &#123; 
                                                $change_password_message = 'Пароль успешно изменен.'; 
                                                $_SESSION&#91;'URFA'&#93;&#91;'password'&#93; = $urfa_new_password; 
                                                &#125; else $change_password_message = 'Ошибка смены пароля!'; 
                                        &#125; else $change_password_message = 'Не совпадают новый пароль и повтор пароля!'; 
                                &#125; else $change_password_message = 'Неправильный пароль!'; 
                        &#125; else $change_password_message = 'Заполните все поля!'; 
        &#125; 
//***************** Обработка смены пароля к статистике конец 
//***************** Форма смены пароля к статистике 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_old_password'&#93;&#41;&#41; &#123; 
                unset&#40;$uri->_vars&#91;'urfa_old_password'&#93;&#41;; 
                &#125; 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_new_password'&#93;&#41;&#41; &#123; 
                        unset&#40;$uri->_vars&#91;'urfa_new_password'&#93;&#41;; 
                &#125; 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_new_password_ret'&#93;&#41;&#41; &#123; 
                        unset&#40;$uri->_vars&#91;'urfa_new_password_ret'&#93;&#41;; 
                &#125; 
                $form_title = '<FORM METHOD="POST">'; 
                $form_footer = '</FORM>'; 
                $form_body = ''; 
            $form_body = $form_body.'<input type="password" name="urfa_old_password" MAXLENGTH="20" size="20" value=""></input> старый пароль<BR><BR>'; 
            $form_body = $form_body.'<input type="password" name="urfa_new_password" MAXLENGTH="20" size="20" value=""></input> новый пароль<BR><BR>'; 
            $form_body = $form_body.'<input type="password" name="urfa_new_password_ret" MAXLENGTH="20" size="20" value=""></input> повторите новый пароль<BR><BR>'; 

            $form_body = $form_body.' 
            <input type=hidden value="1" name=btn1> 
            <input type=hidden value="0" name=btn2> 
            <input type=hidden value="1" name=btn3>'; 

        $form_body = $form_body.'<input type=submit value="Изменить" class="button">'; 
                $form_change_password = $form_title.$form_body.$form_footer; 
//***************** Форма смены пароля к статистике конец 
&#125; 

//Смена сервисного пароля 
if &#40;&#40;$btn1==0&#41; and &#40;$btn2==1&#41;&#41;&#123; 
//***************** Обработка смены сервисного пароля 
        $change_password_message = ''; 
        $urfa_old_password = JRequest&#58;&#58;getVar&#40;'urfa_old_password'&#41;; 
        $urfa_new_password = JRequest&#58;&#58;getVar&#40;'urfa_new_password'&#41;; 
        $urfa_new_password_ret = JRequest&#58;&#58;getVar&#40;'urfa_new_password_ret'&#41;; 
        if &#40;isset&#40;$urfa_old_password&#41; && isset&#40;$urfa_new_password&#41; && isset&#40;$urfa_new_password_ret&#41;&#41; &#123; 
                if &#40;$urfa_old_password!='' && $urfa_new_password!='' && $urfa_new_password_ret!=''&#41; &#123; 
                                if &#40;$urfa_new_password==$urfa_new_password_ret&#41; &#123; 
                                        $res = $urfa_user5->rpcf_user5_change_password_service&#40;$slink_id,$uname_id,$urfa_old_password,$urfa_new_password,$urfa_new_password_ret&#41;; 
                                        if &#40;$res&#91;'result'&#93;==1&#41; &#123; 
                                                $change_password_message = 'Пароль успешно изменен.'; 
                                                &#125; else $change_password_message = 'Неправильный пароль!'; 
                                        &#125; else $change_password_message = 'Не совпадают новый пароль и повтор пароля!'; 
                        &#125; else $change_password_message = 'Заполните все поля!2'; 
        &#125; 
//***************** Обработка смены сервисного пароля конец 
//***************** Форма смены сервисного пароля начало 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_old_password'&#93;&#41;&#41; &#123; 
                unset&#40;$uri->_vars&#91;'urfa_old_password'&#93;&#41;; 
                &#125; 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_new_password'&#93;&#41;&#41; &#123; 
                        unset&#40;$uri->_vars&#91;'urfa_new_password'&#93;&#41;; 
                &#125; 
                if &#40;isset&#40;$uri->_vars&#91;'urfa_new_password_ret'&#93;&#41;&#41; &#123; 
                        unset&#40;$uri->_vars&#91;'urfa_new_password_ret'&#93;&#41;; 
                &#125; 
                $form_title = '<FORM METHOD="POST">'; 
                $form_footer = '</FORM>'; 
                $form_body = ''; 
            $form_body = $form_body.'<input type="password" name="urfa_old_password" MAXLENGTH="20" size="20" value=""></input> старый пароль<BR><BR>'; 
            $form_body = $form_body.'<input type="password" name="urfa_new_password" MAXLENGTH="20" size="20" value=""></input> новый пароль<BR><BR>'; 
            $form_body = $form_body.'<input type="password" name="urfa_new_password_ret" MAXLENGTH="20" size="20" value=""></input> повторите новый пароль<BR><BR>'; 

            $form_body = $form_body.' 
            <input type=hidden value='.$slink_id.' name=slink_id> 
            <input type=hidden value='.$uname_id.' name=uname_id> 
            <input type=hidden value="0" name=btn1> 
            <input type=hidden value="1" name=btn2> 
            <input type=hidden value="1" name=btn3>'; 

            $form_body = $form_body.'<input type=submit value="Изменить" class="button">'; 
            $form_change_password = $form_title.$form_body.$form_footer; 
//***************** Форма смены сервисного пароля конец 
&#125; 
        $row->text = preg_replace&#40;'/&#123;form_change_password&#125;/', $form_change_password, $row->text&#41;; 
        $row->text = preg_replace&#40;'/&#123;change_password_message&#125;/', $change_password_message, $row->text&#41;; 
        $row->text = preg_replace&#40;'/&#123;form1&#125;/', $form1, $row->text&#41;; 
        $row->text = preg_replace&#40;'/&#123;form2&#125;/', $form2, $row->text&#41;; 
    &#125; 
&#125; 

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

Makariy
Сообщения: 227
Зарегистрирован: Ср авг 27, 2008 14:08

Сообщение Makariy »

Проблема с кодировкой..
Пробывали менять через .htaccess, создавать пхп файлы с utf 8 и win 1251, редактировали httpd конфиг с добавлением дефалтной utf8, всё равно выходит такой результат

Изображение

есть идеи почему так?

спустя пару часов: помогло приведение всех кодировок базы/апача/joomla/UTM5 к UTF-8

Alekseev_S
Сообщения: 19
Зарегистрирован: Пт фев 06, 2009 11:20

Помогите плыз )

Сообщение Alekseev_S »

У каво есть веб морда разработанная Chrst – ом???
Скиньте плыз на Alekseev_s@list.ru

Biggless
Сообщения: 4
Зарегистрирован: Вт апр 14, 2009 12:40

Сообщение Biggless »

Плагин user_info:

Код: Выделить всё

Warning&#58; fclose&#40;&#41;&#58; supplied argument is not a valid stream resource in /usr/local/www/apache22/data/www.***.**/urfa/URFAClient_Connection.php on line 32
Error calling function rpcf_user5_get_user_info Error calling function rpcf_user5_get_services Error calling function rpcf_user5_get_services_info Информация 	 

Лицевой счет&#58; 
Логин&#58; 
ФИО&#58; 
Номер ICQ&#58; 
Дата подключения&#58; 01.01.1970г.
Баланс&#58; 0.00 руб.
Кредит&#58; 0.00 руб.
Блокировка&#58; Нет
Интернет&#58; Выключен Включить
Тариф&#58; 
Стоимость в месяц&#58; 0.00 руб.
Списано в текущем расчетном периоде&#58; 0.00 руб.
Стоимость дневного трафика &#40;6&#58;00-23&#58;00&#41;&#58; 0.00 руб.
Стоимость ночного трафика &#40;23&#58;00-6&#58;00&#41;&#58; 0.00 руб.
Осталось предоплаченного дневного трафика&#58; 0.000 МБ
IP адреса&#58;
Добавлено:
$_SESSION['URFA']['login'] и $_SESSION['URFA']['password'] у меня пустые почему-то...

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Biggless писал(а):Плагин user_info:

{скип...}

Добавлено:
$_SESSION['URFA']['login'] и $_SESSION['URFA']['password'] у меня пустые почему-то...
Уже писал ответ на этот вопрос ранее...
Добавил ответ в http://wiki.flintnet.ru/doku.php?id=jommla_urfaphp пункт №6
Конкретнее:
Проверьте в плагине авторизации отработку строк

Код: Выделить всё

$_SESSION&#91;'URFA'&#93;&#91;'user_id'&#93;=$userinfo&#91;'user_id'&#93;;
$_SESSION&#91;'URFA'&#93;&#91;'basic_account'&#93;=$userinfo&#91;'basic_account'&#93;;
$_SESSION&#91;'URFA'&#93;&#91;'login'&#93;=$userinfo&#91;'login'&#93;;
$_SESSION&#91;'URFA'&#93;&#91;'password'&#93;=$credentials&#91;'password'&#93;; 
$_SESSION&#91;'URFA'&#93;&#91;'is_juridical'&#93;=$userinfo&#91;'is_juridical'&#93;; 

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

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

Вот вам подарок смена паролей на личный кабинет и интернет соединение, и всего лишь заостряю внимание что есть такое а не как ты писал что там на все один пароль!!!

Код: Выделить всё

<?php 

defined&#40; '_JEXEC' &#41; or die&#40; 'Restricted access' &#41;; 

@ini_set&#40;"display_errors", "1"&#41;; 
error_reporting&#40;E_ALL&#41;; 

&#123;скип&#125;

Только вот в смысл темы не въезжаю вроде в первых постах писал, что тема для разработки альтернативного кабинета более лучшего в в конце типа что сами пишите что хотите.
Спасибо конечно за подарок, но обычно принято дарить свои поделия, а дарение чужого кода опубликованного xoma пару страниц назад в этой теме ( viewtopic.php?p=46487#46487 ) выглядит как то странно ;)

Смысл темы был таков - я предложил идею для реализации людям знающим php (сам я к тому моменту его знал на уровне "hello world").
Так как энтузиастов на тот момент не нашлось, пришлось самому освоить этот несложный язык и начат писать. Прежде всего пишу для себя, и из врожденного альтруизма выкладываю написанное для всех, ибо знаю каково это сидеть на родном личном кабинете и выслушивать недоуменное "на кой тебе это убожество нужно" от коллег пользующихся к примеру трафик-инспектором (вот на что надо ровняться по функциональности и удобству).

Arny
Сообщения: 25
Зарегистрирован: Пн янв 26, 2009 09:00

Сообщение Arny »

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

noisy
Сообщения: 14
Зарегистрирован: Ср сен 09, 2009 13:11

Сообщение noisy »

удалено

Sky
Сообщения: 44
Зарегистрирован: Пн янв 24, 2005 08:01

Сообщение Sky »

Arny писал(а):нужен администраторский user_info , со списком пользователей, кто что думает?
Что именно требуется ? Список пользователей можно взять через rpcf_get_users_list (0x2001)

Закрыто