1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Как сбросить пароль прямо через базу данных?

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем gunpowder, 02.04.2015.

Загрузка
  1. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Потерял пароль от админа. Хочу сделать пароль 123123. Зарегал нового юзера с таким паролем.

    Пытаюсь поменять информацию через phpmyadmin в таблице user_authenticate

    Почемуто пишет ошибку

    [​IMG] 0 rows affected.
    Warning: #1265 Data truncated for column 'remember_key' at row 1
    UPDATE `xf`.`xf_user_authenticate` SET `remember_key` = '4173544a614731397550664b634b4362526131725f596c48677031526550315a4a62525756755078' WHERE `xf_user_authenticate`.`user_id` = 1;

    Не знаете в чем причина?
     
  2. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Вообще, конечно странно в дампе следующего вида информация

    `remember_key` varbinary(40) NOT NULL

    А в когда юзеры другие регаются у них это поле большего размера по символам. Как это возможно?
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Слишком длинное значение задаете. Там должно быть максимум 40 символов, а у вас в несколько раз больше.
    --- добавлено : 2 апр 2015 в 14:48 ---
    А вообще новый пароль можно сделать более простым путем. Создаете пользователя. В конфиге вписываете идентификатор этого пользователя в суперадмины. Затем входите в админку из под только что созданного пользователя и меняете пароль себе на тот, который нужен. Затем можете входить уже под своим именем, а этого временного супер-админа можно удалить. Не забудьте потом в конфиге все поправить обратно.
     
    Последнее редактирование модератором: 10.04.2015
  4. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Понятно, да это сложно сработать. Попробую, спасибо.

    Как насчет второго поста?
     
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Потому что дамп бинарного поля - это не то же самое, что текстовое значение в бинарном поле.
     
  6. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Это значение длинное я взял когда регал юзера с 123123 паролем для того чтобы подменить значения
    Сами себе противоречите, не?
     
    Последнее редактирование: 02.04.2015
  7. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Не.
     
  8. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Почему у других пользователей больше 40 символов значение?
     
  9. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    Потому что вам уже ответили - эти значения бинарные, а вы туда строки суете.

    https://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html
     
  10. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Кажется понял. Зачем только это нужно если можно просто хеш взять? В коде XF просто этой строке присваивается значение функции генерирующей рандомную строчку.

    А бинарный код в данном случае в какой кодировке здесь? Что-то не совсем понимаю какой это именно бинарный код... И каким образом он кодируется/декодируется
     
    Последнее редактирование: 02.04.2015
  11. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    gunpowder, у бинарного кода нет кодировки, на то он и бинарный. Как он кодируется написал выше, это стандартные функции MySQL.
     
  12. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Я имею ввиду. Что значит бинарный? Двоичный знаю, например. Как например кодируется буква "a" в этом бинарном варианте?

    И если в мане написано:

    Example: For a BINARY(3) column, 'a ' becomes 'a \0

    То получается, как будто бы буквы остается неизменными. Почему тогда строка вырастает в размерах?
     
    Последнее редактирование: 02.04.2015
  13. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    gunpowder, пожалуйста, прочитайте что я вам выше написал:
    Вот еще статья про все виды форматов данных MySQL: http://www.php.su/mysql/?fields
     

Поделиться этой страницей