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

  • Автор темы xlaser
  • 12
  • Обновлено
  • 17, May 2024
  • #1
Привет, Я хочу использовать администратора без пароля. Я загрузил файл adminer-4.7.7-en.php и нашел плагин без пароля для входа в систему. Я создаю файл плагины/логин-пароль-less.php с содержимым:
 Fatal error: Uncaught Error: Class 'AdminerPlugin' not found in /mnt/_work_sdb8/wwwroot/lar/local_adminer/adminer.php:32 Stack trace: #0 /mnt/_work_sdb8/wwwroot/lar/local_adminer/adminer-4.7.7-en.php(1654): adminer_object() #1 /mnt/_work_sdb8/wwwroot/lar/local_adminer/adminer.php(36): include('/mnt/_work_sdb8...') #2 {main} thrown in /mnt/_work_sdb8/wwwroot/lar/local_adminer/adminer.php on line 32
PHP: и чтение https://www.adminer.org/plugins/#use

Я создал файл adminer.php, который расположен в одном каталоге с adminer-4.7.7-en.php, и я создал новый хост Apache, указывающий на этот файл.
 <?php function adminer_object() { // required to run any plugin include_once "./plugins/login-password-less.php"; // autoloader foreach (glob("plugins/*.php") as $filename) { include_once "./$filename"; } $plugins = array( // specify enabled plugins here new AdminerLoginPasswordLess(hash("md5", 'my_sql_user_password')), //Is the selected "md5" method valid ? ); return new AdminerPlugin($plugins); // I am not sure which class is it and where it is defined ? } // include original Adminer or Adminer Editor include "./adminer-4.7.7-en.php"; // encoded file I uploaded ?> 
PHP: Но я получил ошибку:

 <?php class AdminerLoginPasswordLess { /** @access protected */ var $password_hash; /** Set allowed password * @param string result of password_hash */ function __construct($password_hash) { $this->password_hash = $password_hash; } function credentials() { $password = get_password(); return array(SERVER, $_GET["username"], (password_verify($password, $this->password_hash) ? "" : $password)); } function login($login, $password) { if ($password != "") { return true; } } }
Код (разметка): Что это за класс AdminerPlugin и где он определен? Как исправить эту проблему? Спасибо!

xlaser


Рег
12 Apr, 2012

Тем
1

Постов
2

Баллов
12
  • 10, Jun 2024
  • #2
В исходной версии сайта я нашел файл плагин.php с реализацией класса AdminerPlugin. Я переместил этот файл в каталог плагинов. В плагинах/login-password-less.php я добавил ссылку на файл плагинов/plugin.php и добавил информацию для отладки:
 [URL='https://lumtu.com/yti/bj55jb21odHRwOi8vbG9jYWwtYWRtaW5lcil5W']http://local-adminer.com[/URL]
PHP: и в adminer.php я добавил строку отладки:
  [URL='https://lumtu.com/yti/ZzVVzZXJodHRwOi8vbG9jYWwtYWRtaW5lci5jb20vP3VzZXJuYW1lPW15c3FsX2xvZ2luX3ul2']http://local-adminer.com/?username=mysql_login_user[/URL] 
PHP: я регистрирую файл, который вижу:
 <pre>::-2 AdminerLoginPasswordLess->__construct:$this->password_hash::c61d49aaab35ca428e60d764ff05159d</pre> <pre>::-1After:AdminerLoginPasswordLess</pre>
Код (разметка): это означает, что методы учетных данных и входа в систему класса AdminerLoginPasswordLess не запускаются. Я запускаю в браузере как:
  $plugins = array( new AdminerLoginPasswordLess(hash("md5", 'm8y2s8q&L')), ); debToFile('-1After:AdminerLoginPasswordLess'); 
Код (разметка): или
 <?php /** Enable login for password-less database * @link [URL='https://lumtu.com/yti/cU33Uc2VodHRwczovL2FkbWluZXIub3JnL3BsdWdpbnMvIMnb']https://www.adminer.org/plugins/#use[/URL] * @author Jakub Vrana, [URL='https://lumtu.com/yti/eMmmMei9odHRwczovL3ZyYW5hL5WY']https://www.vrana.cz/[/URL] * @license [URL='https://lumtu.com/yti/Ly00yLjBodHRwczovL2FwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRST5U']https://www.apache.org/licenses/LICENSE-2.0[/URL] Apache License, Version 2.0 * @license [URL='https://lumtu.com/yti/bAddAbWxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5oCMu']https://www.gnu.org/licenses/gpl-2.0.html[/URL] GNU General Public License, version 2 (one or other) */ include_once "./plugins/plugin.php"; class AdminerLoginPasswordLess { /** @access protected */ var $password_hash; /** Set allowed password * @param string result of password_hash */ function __construct($password_hash) { $this->password_hash = $password_hash; debToFile('-2 AdminerLoginPasswordLess->__construct:$this->password_hash::'.$this->password_hash); // That is debugging method appending string into text file } function credentials() { $password = get_password(); debToFile('-3 AdminerLoginPasswordLess->credentials:$password::'.$password); // That is debugging method appending string into text file return array(SERVER, $_GET["username"], (password_verify($password, $this->password_hash) ? "" : $password)); } function login($login, $password) { debToFile('-4 AdminerLoginPasswordLess->login:$login::'.$login); if ($password != "") { debToFile('-5 TRUE AdminerLoginPasswordLess->login:$login::'.$login); // That is debugging method appending string into text file return true; } debToFile('-5 false AdminerLoginPasswordLess->login:$login::'.$login); } }
Код (разметка): // хост в конфигурации Apache и у меня нет ошибок, но мне все равно нужно ввести пароль для mysql_login_user. Я пропустил какие-то опции/плагины?
 

vremennoorg


Рег
24 Aug, 2012

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно