Перейти до

Генерация Логинов


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

Подскажите пожалуйста, где лежат скрипты генерации логинов которые подставляются автоматически при генерации логинов. 

Хочу подставить свой скрипт который будет генерировать логин в формате ГГММДДХХ

где ГГ - год, ММ - месяц, ДД - день, ХХ - порядковый номер подключения в этот день.

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

Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, где лежат скрипты генерации логинов которые подставляются автоматически при генерации логинов. 

 

/var/www/billing/api/libs/api.userreg.php

 

Но лучше описать свою функцию и nightfly добавит ее в релиз.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 weeks later...

Написал функцию. может где то и кривенько написано, но увы только учесть что то творить на PHP. зато работает. Выставляю на всеобщее обозрение

в alter.ini выбираем  TIMESTAMP2. первый логин создастся неправильно, будет иметь 7 знаков, все последующие будут 8-ми значными. 7-ми значный больше никогда не повторится)
 
if ($type=='TIMESTAMP2') {
         $path = "/tmp/cntforapi";
         $fp  = fopen($path, "a+");// перемещаемся наза. то же самое, что и rewind($fp);
         fseek($fp, 0); // читаем немного данных
         $cnt = fgets($fp, 4096);
         ftruncate($fp, 0);
         if( $cnt == 99 ) $cnt = 1;
         fwrite( $fp, $cnt+1 );
         if( $cnt < 10 ) $result=@date('ymd', time())."0".$cnt;
         else
         $result=@date('ymd', time()).$cnt;
         return $result;
         }
Ссылка на сообщение
Поделиться на других сайтах

Disclaimer: я PHP беру в руки хорошо если пару раз в год, по этому исходить буду из общих соображений.
 

первый логин создастся неправильно, будет иметь 7 знаков, все последующие будут 8-ми значными. 7-ми значный больше никогда не повторится)


За что ж вы так пользователей не любите, что полу-рабочий код в паблик выкладываете? Неужели нельзя было и первый логин нормально делать?
 

...
         $path = "/tmp/cntforapi";


Все временные файлы должны создаваться через mktemp. В PHP это tempnam или tmpfile.
 

       $fp  = fopen($path, "a+");// перемещаемся наза. то же самое, что и rewind($fp);


fopen никуда ничего не перемещает. Впрочем, видимо коментарий относится к следующей строчке.
Вы не проверяете результат вызова этой функции. А что если файла нет?
 

       fseek($fp, 0); // читаем немного данных


Опять-же, комментарий не там.
 

       $cnt = fgets($fp, 4096);


А почему 4096? Почему не 65536? Или 2048? А зачем вообще тут это число? А что если файл пуст? А где проверка на ошибки?
 

...
         if( $cnt == 99 ) $cnt = 1;


А что такое 99? А почему 1? А если $cnt == 100? А если $cnt == 'f**k you'?
 

       fwrite( $fp, $cnt+1 );


А вдруг не запишется?
 

       if( $cnt < 10 ) $result=@date('ymd', time())."0".$cnt;
         else
         $result=@date('ymd', time()).$cnt;


А почему вызов date глушится?

Я так понимаю, вон тот файл используется для сохранения состояния. Но при этом он лежит не по феншуюFHS в /var/lib а в /tmp который может быть очищен в любой момент времени. Таким макаром получаем дубликаты логинов.

Ссылка на сообщение
Поделиться на других сайтах

Увиденного не развидеть. Пошел искать веревку.

Эй! Зачем же его сразу вешать! Вдруг из него через год получится цукерберг? :)

Ссылка на сообщение
Поделиться на других сайтах

 

Эй! Зачем же его сразу вешать! Вдруг из него через год получится цукерберг? :)

Почему же его? Себя, себя родимого.

 

Себя-то за что? Тебе еще пользу причинять, рано на тот свет!

Ссылка на сообщение
Поделиться на других сайтах

 

Себя-то за что? Тебе еще пользу причинять, рано на тот свет!

Рано? После увиденного, уже в самый раз :)

 

pas.jpg

 

Пошел за веревкой...

Ссылка на сообщение
Поделиться на других сайтах
  • 1 year later...

Уважаемый 

nightfly

, можете в будущие релизы Ubilling в генератор логинов заложить  ещё один принцип создания логинов такого типа:

[алиас улицы]+[номер дома]+[-]+[номер квартиры]+[комната]

Т.е. получиться должно так(примеры): MET7-1 - здесь улица+дом+квартира, STR25-5k2 - здесь улица+дом+квартира_комуналка+комната.

Причина у меня такова, что у нас логины построены по такому принципу. И встает вопрос о целесообразности переноса базы в систему Ubilling и/или совмещения логинов старых с новыми.

Или подскажите - могу сам поправить скрипт для генерации таких логинов?

Відредаговано vlad5503
Ссылка на сообщение
Поделиться на других сайтах
MET7-1 - здесь улица+дом+квартира, STR25-5k2 - здесь улица+дом+квартира_комуналка+комната.
И встает вопрос о целесообразности переноса базы в систему Ubilling

напомнило песню , где эта улица , где этот дом , где эта девушка ..... +вторая койка справа+ второй+ярус

Просто показалось что вы недвижимостью торгуете, а не доступом к сети интернет. 

Что укртелеком переходит на ubilling ? nightfly наверно уже пишет скрипты  на  ADSL

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Вхід

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

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

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

  • Схожий контент

    • Від ppv
      Проглянув FAQ і Ubilling Wiki. Зацікавило питання чи є в Ubilling якась реалізація reCAPTCHA, чи потрібно додавати руцями, (для прикладу для форми подачі заявок чи для кабінету користувача)?
       
    • Від subhan
      У нас есть сервер Ubilling. к которому соединены 5 брасов. Каждый Nas работает по отдельному влану. В вланах браса в определенное время мы видим пустой трафик который поднимается. Например в норме если 200мб то 500мб. В влане котором видится пустое поднятие трафика, также и поднимается трафик во всех портах свитча. Это исправляется на время только при ребуте определенного Nas. Проблема раньше была только в одном Nas-э, щас и на других Nas-ах тоже данная проблема. Это проблема только наблюдается во вланах которые подключены в Ubilling.

      Можете пожалуйста, помочь в данной проблеме.
    • Від ppv
      Доброго дня, не працює примусовий опит OLT. Якщо оновлювати дані для даного ОЛТ то все норм. Була версія білінгу 1.3.3, вчора оновив до 1.3.6 нічого не змінилось.
      Чи може я щось пропустив в оновленях що треба було доналаштувати? Підкажіть будь ласка, хочу знати на що звернути увагу.
      Через крон теж не згрібає сигнали, хоча бачу регламенти проходять. Олт BDCOM різного типу.
      До білінгу давно не дивився, незнаю точно коли проблема появилась.
    • Від ppv
      Пропали всі дані з Грошові нарахування у абонентів.
      Баланс абонентів зберігся, історія платежів збереглась, білінг працює як і працював. Пропали тільки дані з Чорна магія=> Грошові нарахування.  у всіх абонентів.
      Підкажіть будь ласка куди дивитись, з чого почати.
      реліз 1.2.6 rev 8384. Не було часу поновити.
      Хоча підозрюю що якимось чином зламався stargazer.log, підозріло мало займає, може бути через це ?
       

    • Від AdmiralU
      Дня доброго!
      Перешли на новое железо микротик,  после настройки кучаген, перестали изменятся параметры пользователя(
      https://wiki.ubilling.net.ua/doku.php?id=multigen
       
      Например зачисляем средства, но баланс у абонента не меняется

       
      Openpayz так же криво зачисляет(
       
      При создании нового абонента ошибка
       
      STG работает, ап снимает, в логах все ок
       
      Мультиген отключили, проблема осталась(
       
      Версия 1.0.2 rev 7081
×
×
  • Створити нове...