Jump to content

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


Recommended Posts

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

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

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

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

Link to post
Share on other sites

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

 

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

 

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

Link to post
Share on other sites
  • 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;
         }
Link to post
Share on other sites

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 который может быть очищен в любой момент времени. Таким макаром получаем дубликаты логинов.

Link to post
Share on other sites

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

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

Link to post
Share on other sites

 

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

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

 

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

Link to post
Share on other sites

 

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

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

 

pas.jpg

 

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

Link to post
Share on other sites
  • 1 year later...

Уважаемый 

nightfly

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

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

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

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

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

Edited by vlad5503
Link to post
Share on other sites
MET7-1 - здесь улица+дом+квартира, STR25-5k2 - здесь улица+дом+квартира_комуналка+комната.
И встает вопрос о целесообразности переноса базы в систему Ubilling

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

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

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

Edited by zaza12
Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

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

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

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

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