Я унаследовал установку PhpBB3 от неконтактного предыдущего администратора, который не оставил мне пароль или какой-либо механизм для его получения.
Он работает в базе данных MySQL, в которую я вошел с полными привилегиями, чтобы изменить пароль администратора. К сожалению, PhpBB3 явно использует сложную многоступенчатую технику хеширования с солью, с которой я не знаком. Учитывая полный доступ к БД, как мне сгенерировать действительный хэш пароля, чтобы заменить старый?
Я пробовал простой MD5 известного пароля обычного пользователя, и он не соответствует записи в БД.
Любой другой способ сбросить пароль администратора через БД также полезен, если он работает!
Ответ найден в другом месте (кредит: joshhighland.com)
запустите обновление вручную, но используйте один из следующих примеров хэшей;
Хеш: e10adc3949ba59abbe56e057f20f883e Пароль: 123456
Хеш: $ H $ 9Ae3Uk.ECdWW5ya13M4ErWhr4c.761 / Пароль: пароль
например mysql> обновить phpbb_users set user_password = 'e10adc3949ba59abbe56e057f20f883e', где username = 'YourUserName';
... затем войдите в систему и измените пароль на тот, который вы потом вспомните :)
запустите mysql и выберите соответствующую базу данных, затем используйте функцию MD5, чтобы установить пароль для учетной записи, которую вы хотите изменить.
Например, если ваша база данных phpbb3 называется Yourphpbb3db, а таблица пользователей - phpbb_users, тогда
mysql -u root -p
введите ваш пароль
mysql> show databases;
mysql> use database Yourphpbb3db;
Database changed
mysql> UPDATE phpbb_users SET user_password = MD5('YourPassword') WHERE username='YourAdminName';
Я лишь немного знаком с тонкостями phpBB3, но я бы попытался скопировать хэш и соль из другой учетной записи пользователя, для которой известен пароль (одноразовая учетная запись для этой цели или чего-то подобного). Конечно, сначала сделайте резервную копию текущего хэша и соли или, возможно, всей БД ... если это не сработает, я бы попытался повысить привилегии другой учетной записи. Я совершенно не знаком с системой привилегий в phpBB3, но вы можете либо попытаться дублировать записи таблицы привилегий текущего администратора для новой учетной записи, либо просто заменить идентификатор пользователя администратора известной учетной записью. Если возможно, я бы сделал все это на тестовой системе.