Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: muff от 14 Февраля 2014, 14:39:15



Название: Проблема с авторизацией в админке
Отправлено: muff от 14 Февраля 2014, 14:39:15
Всем привет.

После переноса  биллинга на другой сервер (соответственно с софтом поновее), вылезла странная бага. Некоторые пользователи не могут авторизоваться в "Личном кабинете". В биллинге, когда пытаешся посмотреть пароль - он не выводится.
После копания обнаружил, что у таких пользователей пароль обязательно заканчивается на точку с запятой.
На старом сервере авторизация выполняется корректно.
Перенос выполнял переносом каталогов и перезаливанием БД.

Не подскажете куда копать?



Название: Re: Проблема с авторизацией в админке
Отправлено: YuSHa от 14 Февраля 2014, 15:44:48
простым копированием файлов БД? или через dump & restore?


Название: Re: Проблема с авторизацией в админке
Отправлено: Nafanya от 14 Февраля 2014, 16:21:48
Всем привет.

После переноса  биллинга на другой сервер (соответственно с софтом поновее), вылезла странная бага. Некоторые пользователи не могут авторизоваться в "Личном кабинете". В биллинге, когда пытаешся посмотреть пароль - он не выводится.
После копания обнаружил, что у таких пользователей пароль обязательно заканчивается на точку с запятой.
На старом сервере авторизация выполняется корректно.
Перенос выполнял переносом каталогов и перезаливанием БД.

Не подскажете куда копать?



Ключ шифрования паролей в sat.cfg что на старом сервере что на новом должен быть одинаковым


Название: Re: Проблема с авторизацией в админке
Отправлено: muff от 14 Февраля 2014, 17:30:15
простым копированием файлов БД? или через dump & restore?

Дамп через mysqldump, ну и на другом сервере этот дамп залил.


Название: Re: Проблема с авторизацией в админке
Отправлено: muff от 14 Февраля 2014, 17:36:39
Ключ шифрования паролей в sat.cfg что на старом сервере что на новом должен быть одинаковым

В sat.cfg ключа шифрования нету, там только параметры коннекта к БД. Passwd_Key находится в nodeny.cfg.pl. Они совпадают.


Название: Re: Проблема с авторизацией в админке
Отправлено: Nafanya от 14 Февраля 2014, 18:19:49
Ключ шифрования паролей в sat.cfg что на старом сервере что на новом должен быть одинаковым

В sat.cfg ключа шифрования нету, там только параметры коннекта к БД. Passwd_Key находится в nodeny.cfg.pl. Они совпадают.


Смотря какая версия Нодени. Это относиться к версии Нодени+


Название: Re: Проблема с авторизацией в админке
Отправлено: muff от 17 Февраля 2014, 20:10:34
Баг оказался в MySQL...
На старом сервере:
Код:
mysql> SELECT AES_DECRYPT(passwd, 'KEY_HERE') FROM users WHERE id=1;
+---------------------------------+
| AES_DECRYPT(passwd, 'KEY_HERE') |
+---------------------------------+
| 12345                           |
+---------------------------------+
1 row in set (0.00 sec)

На новом сервере:
Код:
mysql> SELECT AES_DECRYPT(passwd, 'KEY_HERE') FROM users WHERE id=1;
+---------------------------------+
| AES_DECRYPT(passwd, 'KEY_HERE') |
+---------------------------------+
| NULL                            |
+---------------------------------+
1 row in set (0,00 sec)

На старом сервере версия MySQL 5.1.70, а на новом 5.6.15.
Буду копать дальше...


Название: Re: Проблема с авторизацией в админке
Отправлено: ser970 от 17 Февраля 2014, 20:23:46
а покажи как
SELECT passwd FROM users WHERE id=1;
на новом и на старом


Название: Re: Проблема с авторизацией в админке
Отправлено: muff от 17 Февраля 2014, 21:09:03
Через phpMyAdmin результат идентичен
Код:
=ZЏ~?ТЃ’`А5“;

В консоли же результаты разные.
Старый сервер:
Код:
mysql> SELECT passwd FROM users WHERE id=1;
+------------------+
| passwd           |
+------------------+
???▓`?5⌠; |
+------------------+
1 row in set (0.01 sec)
Новый сервер:
Код:
mysql> SELECT passwd FROM users WHERE id=1;
+------------------+
| passwd           |
+------------------+
?р│▓`ю5⌠; |
+------------------+
1 row in set (0,00 sec)

Можно было бы считать, что проблема в кодировке, однако, не отрабатываются только те пароли, которые заканчиваются на точку с запятой.

Пример пароля, который корректно обрабатывается...
На обеих серверах одинаковый результат:
Код:
mysql> SELECT AES_DECRYPT(passwd, 'KEY_HERE') FROM users WHERE id=2;
+---------------------------------+
| AES_DECRYPT(passwd, 'KEY_HERE') |
+---------------------------------+
| 777audi777                      |
+---------------------------------+
1 row in set (0.00 sec)


В phpMyAdmin результат вывода passwd тоже одинаковый:
Код:
YђI9]Rµ:^u!ѓ€Є
Результат выполнения запроса вывода passwd в консоли:
Старый сервер:
Код:
mysql> SELECT passwd FROM users WHERE id=2;
+------------------+
| passwd           |
+------------------+
| Y?I9R╣:^u!?─? |
+------------------+
1 row in set (0.01 sec)
Новый сервер:
Код:
mysql> SELECT passwd FROM users WHERE id=2;
+------------------+
| passwd           |
+------------------+
| Y░I9R╣:^u!┐┬╙ |
+------------------+
1 row in set (0,00 sec)


Название: Re: Проблема с авторизацией в админке
Отправлено: ser970 от 17 Февраля 2014, 21:17:22
перенеси базу бинанрно с последующим апдейтом.
при переносе мускул должен быть останвлен