Modx как изменить пароль администратора

It is not uncommon for a User account to become inaccessible because of a lost/forgotten password. In many cases, this can easily be resolved by having the user use the Forgot Password link on the login form. But in some cases you may need to manually reset the password directly in the database. You will need access to the database containing the MODX tables in order to this, either via PHPMyAdmin or another database client that allows you to edit or UPDATE database records.

Resetting a User Password via Database Manipulation¶

It is not uncommon for a User account to become inaccessible because of a lost/forgotten password. In many cases, this can easily be resolved by having the user use the Forgot Password link on the login form. But in some cases you may need to manually reset the password directly in the database. You will need access to the database containing the MODX tables in order to this, either via PHPMyAdmin or another database client that allows you to edit or UPDATE database records.

Resetting Password in MODX 2.1+¶

In MODX 2.1+, users are created by default with the a hashing algorithm called PBKDF2. Databases like MySQL or SQL Server generally do not have functions for calculating these hashes, and as a result, in order to manually reset the password in the database, you will also need to change the hash_class specified for the user from hashing.modPBKDF2 to hashing.modMD5. Then you can use the native MD5() function to set the value of the password field appropriately. Here is an example MySQL UPDATE statement:

UPDATE modx_users SET hash_class = 'hashing.modMD5', password = MD5('the-new-password') WHERE username = 'theusername';

If you want to then have the user password automatically converted back to PBKDF2, you can install the pbkdf2Convert Plugin available from Package Management.

Resetting Password in MODX 2.0.x¶

In MODX 2.0.x, you can simply reset the password field with a valid MD5 hash value directly in the database table. Here is an example MySQL UPDATE statement that can reset a user’s password by username:

UPDATE modx_users SET password = MD5('the-new-password') WHERE username = 'theusername';

Resetting a Password via the API¶

You can also reset the password (or manipulate any part of the MODX application) by using the API. Below is a sample script to update the password and email address of a given user. It also ensures this user is in the Administrator User Group.

<?php
define('MODX_API_MODE', true); // Gotta set this one constant.

// Reset the password and email of an existing user
// and ensure they are a member of the specified group
$username = 'theusername';
$password = 'newpassword';
$email = 'new@email.com';

$user_group = 1; // 1 for Administrator

// Full path to the MODX index.php file
require_once('/full/path/to/index.php');

// ====== Don't change anything below this line ======
if (empty($username) || empty($password) || empty($email)) {
        die('ERROR: Missing criteria.');
}

$modx= new modX();
$modx->initialize('mgr');

$query = $modx->newQuery('modUser');
$query->where( array('username'=>$username) );
$user = $modx->getObjectGraph('modUser', '{ "Profile":{}, "UserGroupMembers":{} }', $query);
// print_r($user); exit;
if (!$user) {
        die("ERROR: No user with username $username");
}

$user->set('username',$username);
$user->set('active',1);
$user->set('password', $password);
$user->Profile->set('email', $email);
$user->Profile->set('blocked', 0);
$user->Profile->set('blockeduntil', 0);
$user->Profile->set('blockedafter', 0);

// Verify the user is a member of specified User Group
$is_member = false;
if (!empty($user->UserGroupMembers)) {
        foreach ($user->UserGroupMembers as $UserGroupMembers) {
                if ($UserGroupMembers->get('user_group') == $user_group) {
                        $is_member = true;
                        break;
                }
        }
}
// Add the User to the User Group if he is not a member
if (!$is_member) {
        // Verify the user group exists
        $UserGroup = $modx->getObject('modUserGroup', $user_group);
        if (!$UserGroup) {
                die ("ERROR: User Group $user_group does not exist.");
        }

        $Member = $modx->newObject('modUserGroupMember');
        $Member->set('user_group', $user_group);
        $Member->set('member', $user->get('id'));
        // Super User = role 2
        $Member->set('role', 2);
        $Member->set('rank', 0);
        $user->addOne($Member,'UserGroupMembers');
}

/* save user */
if (!$user->save()) {
        die('ERROR: Could not save user.');
}

print "SUCCESS: User $username updated.";

?>

You can put this script anywhere on your server so long as you update the path to the primary index.php file. You can execute the script by hitting it in a browser or via the command line.

Warning
Be extremely careful when using a script like this! If possible, do NOT put it inside your document root – instead put it outside of your document root and execute the script via the command line.

Open COllective

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

Budget

$307 per month—let’s make that $500!

Learn more

У CMS Modx есть 2 основные версии:

  • Modx Evolution версии 1.*.*
  • Modx Revo версии 2.*.*

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

Как узнать имя базы?

Узнать имя базы, с которой работает сайт, и префикс таблиц можно в конфигурационном файле сайта.
Для Modx Evolution 1.*.* он находится по следующему пути от корня сайта:

./manager/includes/config.inc.php

А для версии Modx Revo 2.*.*его следует искать по следующему пути от корня сайта:

./core/config/config.inc.php

Корень сайта можно узнать в разделе Сайты:

На скриншоте можно наблюдать, что в нашем случае корнем сайта является modx/public_html, и, соответственно, файл будет находиться по следующим путям для версии Modx Evolution 1.*.* и Modx Revolution 2.*.* соответственно:

modx/public_html/manager/includes/config.inc.php

и

modx/public_html/core/config/config.inc.php 

Теперь нам нужно открыть нужный файл любым удобным способом, например, через Файловый менеджер, и найти в нём следующие строки:

$dbase = 'passreset_modx1';

$table_prefix = 'modx_';

Значения в этих строках означают имя базы, с которой работает сайт, passreset_modx1 и префикс таблиц базы — modx_.
В вашем случае название базы данных будет отличаться, а префикс таблиц может быть таким же.

Редактирование базы данных

После того, как мы узнали имя базы, нам нужно попасть в саму базу данных. Сделать это можно через phpMyAdmin в разделе MySQL. Находим нужную базу данных в списке и напротив неё нажимаем иконку PMA. Возможно, сразу phpMyAdmin не откроется, так как Ваш браузер блокирует всплывающие окна, поэтому разрешите использование всплывающих окон.

Дальнейшие действия для каждой из версий разные, поэтому далее мы рассмотрим процесс отдельно для MODX Evolution и MODX Revo.

Modx Evolution 1.*.*

Перед нами база данных, с которой работает наш сайт. Нам нужно найти таблицу с пользователями нашего сайта. Её название имеет следующий вид – Префикс_manager_users. В нашем случае она называется modx_manager_users. Найдём её в списке и нажмём на неё:

Перед нами появилась информация из таблицы modx_manager_users, в которой указана информация о всех зарегистрированных пользователях вашего сайта. Вам нужно найти строку с логином Вашей учётной записи, в нашем случае это учётная запись admin. Теперь откроем эту строку для редактирования, нажав на иконку с карандашом в левой части строки:

Теперь приступим к самой смене пароля. Для этого находим строку с названием password:

И поменяем в ней 2 строки: в поле Значение удаляем все текущие символы и вводим туда желаемый пароль, например BegetNewPass, а в поле Функция выбираем из списка MD5.

В итоге поля должны выглядеть следующим образом:

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

После всех выполненных действий пароль успешно изменился. Для проверки перейдите на страницу авторизации в админ.панель Вашего сайта и введите логин Вашего аккаунта и новый пароль.

Если у Вас что-то не получилось или возникают сложности, обратитесь в техническую поддержку с подробным описанием проблемы и уже сделанных Вами действий. Наши специалисты обязательно помогут Вам.

Modx Revo 2.*.*

Перед нами база данных, с которой работает наш сайт. Нам нужно найти таблицу с пользователями нашего сайта. Её название имеет следующий вид – Префикс_users. В нашем случае она называется modx_users. Найдём её в списке и нажмём на неё:

Перед нами появилась информация из таблицы modx_users, в которой указана информация о всех зарегистрированных пользователях вашего сайта. Вам нужно найти строку с логином Вашей учётной записи, в нашем случае это учётная запись admin. Теперь откроем эту строку для редактирования, нажав на иконку с карандашом в левой части строки:

Теперь приступим к самой смене пароля. Для этого находим строку с названием password:

И поменяем в ней 2 строки: в поле Значение удаляем все текущие символы и вводим туда желаемый пароль, например BegetNewPass, а в поле Функция выбираем из списка MD5.

В итоге поля должны выглядеть следующим образом:

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

После всех выполненных действий пароль успешно изменился. Для проверки перейдите на страницу авторизации в админ.панель Вашего сайта и введите логин Вашего аккаунта и новый пароль.

Если у Вас что-то не получилось или возникают сложности, обратитесь в техническую поддержку с подробным описанием проблемы и уже сделанных Вами действий. Наши специалисты обязательно помогут Вам.

Если пользователь заблокирован за то, что слишком много раз ввел неверный пароль, то для снятия блокировки есть 2 способа — ждать автоматическую разблокировку (время блокировки меняется в админке, раздел «Авторизация и безопасность» (Revo) и «Пользователи» (Evo)) или снять блокировку через базу данных при помощи phpMyAdmin. Рассмотрим вариант с phpMyAdmin.

Навигация по статье:

  • Как разблокировать пользователя админ-панели MODX Revolution
  • Как сменить пароль пользователя MODX Revolution через phpMyAdmin
  • Как разблокировать пользователя админ-панели MODX Evolution
  • Как сменить пароль пользователя MODX Evolution через phpMyAdmin

Как разблокировать пользователя админ-панели MODX Revolution

Если при входе в админ-панель управления сайтом ввести несколько раз (по умолчанию 3 раза) неправильно логин или пароль, то система управления вас заблокирует и вы будете видеть надпись «Ваш доступ к системе управления заблокирован администратором».

Самые простые решения:

  1. Нажмите «Забыли свой пароль?» укажите «E-mail учетной записи» и вам придёт на почту ссылка со сбросом пароля.
  2. Если по какой-то причине вы не знаете «E-mail учетной записи» или к этой почте нет доступа, то можно восстановить доступ, сменив почту в phpMyAdmin:
    Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и в поле email меняем почту на свою и возвращаемся к пункту 1 для запроса на смену пароля.
  3. Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и меняем на 0 (ноль) содержимое полей (если там что-то есть):
    blocked, blockeduntil, failedlogincount;
  4. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, после этого можно зайти в админку под своим логином и паролем.

Важно: Префикс «modx_» в вашей базе может быть другим! Зависит от настроек базы.

Как сменить пароль пользователя MODX Revolution через phpMyAdmin

  1. Заходим в БД через phpMyAdmin. В таблице modx_users у нужного пользователя значение в поле hash_class ставим hashing.modMD5, поля salt и cachepwd очищаем, а в поле password меняем значение на:

    d8578edf8458ce06fbc5bb76a58c5ca4

    Теперь пароль от панели управления — qwerty (выше указан пароль qwerty в MD5-хеше)

  2. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, вводим логин и новый пароль, все должно работать.

Не забудьте для пользователя сменить в админке пароль qwerty на безопасный.

Как разблокировать пользователя админ-панели MODX Evolution

  1. Нажмите «Забыли свой пароль?» укажите «E-mail учетной записи» и вам придёт на почту ссылка со сбросом пароля.
  2. Если вы не знаете «E-mail учетной записи» или к этой почте нет доступа, то можно восстановить доступ, сменив почту в phpMyAdmin:
    Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и в поле email меняем почту на свою и возвращаемся к пункту 1 для запроса на смену пароля.
  3. Заходим в базу данных через phpMyAdmin. Находим таблицу modx_user_attributes и меняем на 0 (ноль) содержимое полей (если там что-то есть):
    blocked, blockeduntil, failedlogincount;
  4. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, все должно работать.

Как сменить пароль пользователя MODX Evolution через phpMyAdmin

  1. Заходим в БД через phpMyAdmin. В таблице modx_manager_users у нужного пользователя значение в поле password меняем значение на:

    d8578edf8458ce06fbc5bb76a58c5ca4

    При редактировании, в столбце phpMyAdmin «Функция» указать MD5. Теперь пароль от админки — qwerty (выше указан пароль qwerty в MD5-хеше)

  2. Выходим из phpMyAdmin, обновляем страницу входа в админ-панель, вводим логин и новый пароль, все должно работать.

Не забудьте для пользователя сменить в админке пароль qwerty на безопасный.

На чтение 6 мин Просмотров 19.6к. Опубликовано 09.07.2020
Обновлено 14.01.2023

Содержание

  1. Как зайти в админку modx
  2. Как узнать нестандартный адрес входа
  3. Обзор админ панели
  4. Смена адреса административной панели MODX Revo
  5. Решение проблем со входом в админку
  6. Сброс пароля в MODX, через базу данных (БД) сайта
  7. Разблокировка админки MODX Revo

В данной статье разберем MODX админку: как зайти в панель управления, что где находиться, что делать если modx не заходит в админку и прочие вопросы.

Как зайти в админку modx

В адресной строке браузера введите адрес вашего домена и добавьте к нему /manager. На открывшейся странице введите Имя пользователя, пароль и нажмите кнопку Войти.

Вход в админку MODX

Вход в админку MODX 3

Внимание! Если вы видите главную страницу или страницу с 404 ошибкой, значит стандартный адрес входа в административную панель был изменен.

Как узнать нестандартный адрес входа

Зайдите на хостинг в файловый менеджер (или подключитесь по FTP), откройте файл /core/config/config.inc.php и найдите там строку $modx_manager_url= ‘/адрес входа в админку/’;

Обзор админ панели

Главный экран админки MODX 2.8.x

Главный экран админки MODX 2.8.x
Главный экран админки MODX 3.0.x
Главный экран админки MODX 3.0.x

Пробежимся по самому ходовому. Слева находится дерево с ресурсами элементами и файлами.

  • На вкладке Ресурсы находится основной контент сайта (страницы), здесь же можно их создавать, обновлять и удалять.
  • На вкладке Элементы, находятся все шаблоны, дополнительные поля, чанки, сниппеты, плагины — соответственно ими также как и ресурсами можно управлять.
  • Во вкладке Файлы расположены все файлы сайта (файлы движка, шаблонов, картинки и т.д.). Кому интересно про файлы движка, смотрите статью: Структура каталогов MODX.

Теперь пробежимся по верхней панельке (в MODX 3 она с лева, перед деревом ресурсов). Идем с лева на право (или сверху в низ, в зависимости от установленной версии).

  • поиск — ищет по по вкладкам Ресурсы и Элементы.
  • пункт Содержимое, его подпункты: Новый ресурс — создание нового ресурса (страницы);  Перейти на сайт — Переход на главную страницу сайта (откроется в новой вкладке); Импорт HTML — пакетный импорт HTML-файлов; Импорт ресурсов — пакетный импорт статических ресурсов; Группы ресурсов — управление принадлежностью ресурсов к группам ресурсов; Типы содержимого — здесь можно добавить или изменить типы содержимого для ресурсов, например такие как .html, js, и т.п.
  • пункт Медиа, его подпункты: Управление медиа — отображение, загрузка и управление медиа-файлами; Источники файлов — управление источниками файлов.
  • пункт Пакеты: Установщик — управление пакетами (плагинами) и репозиториями.
  • пункт Управление: Пользователи — добавление, обновление, и назначение прав пользователям; Очистить кэш — очистка кэша сайта во всех контекстах; Снять блокировки — будут сняты все блокировки со страниц сайта. Эти блокировки являются результатом того, что другие пользователи редактируют эти страницы; Перезагрузить права доступа — перезагрузить все права доступа и очистить кэш; Завершить все сеансы — завершить все сеансы работы пользователей и произвести принудительный выход из системы всех пользователей; Отчёты — различные отчеты MODX для администратора.
  • Аватар + логин (может быть без аватара), здесь находятся: Профиль — можно обновить профиль: добавить аватар, контакты, и самое интересное в нем вы можете: сменить пароль админки modx, вернее для этого пользователя.  Сообщения — просмотр ваших сообщений и отправка новых сообщений пользователям. Выйти — выход из системы управления.
  • Шестеренка: Системные настройки — изменение и создание системных настроек; Настройка форм — Управление пользовательскими настройками MODX; Панели управления — Управление панелями и виджетами; Контексты — управление контекстами сайта и их настройками; Меню — управление действиями и структурой верхнего меню системы управления; Контроль доступа — управление привилегиями через группы, роли и политики доступа;
    Наборы параметров — управление наборами параметров и элементами, которым эти наборы параметров назначены;
    Управление словарями — изменение языковых строк в системе управления; Пространства имён — управление пространствами имён.
  • Вопросительный знак — откроется страница Помощь и поддержка, см. скриншот выше.

Смена адреса административной панели MODX Revo

как изменить адрес входа в административную панель управления MODX Revolution.

По умолчанию в модексе вход в админку осуществляется по адресу домен.ру/manager, но я рекомендую сменить его, для того чтобы повысить безопасность сайта. Сделать это очень просто.

1. Переименовываем директорию manager, к примеру в modx-myadmin
2. В файле /core/config/config.inc.php ищем и меняем строки

$modx_manager_path= '/modx/directory/manager/';
$modx_manager_url= '/manager/';

на

$modx_manager_path= '/modx/directory/modx-myadmin/';
$modx_manager_url= '/modx-admin/';

3. Очищаем папку /core/cache

Все. Теперь можно заходить в админ панель по новому адресу.

Примечание: Иногда после всего этого, необходимо зайти в phpMyAdmin и в таблице modx_workspaces изменить поле path на /modxfolder/directory/modx-myadmin/ — но это редко и только на специфических хостингах.

Решение проблем со входом в админку

Довольно часто встречается проблема — modx не заходит в админку, и причин этому может быть несколько: забыли пароль, проблемы с хостингом, либо вы превысили число попыток входа и MODX вас заблокировал. Первые 2 проблемы за частую можно решить при помощи функции восстановления пароля (при входе в админку нажать на ссылку Забыли свое имя пользователя?). Но бывает такое что MODX не отправляет сообщение для сброса пароля на почту, указанную во время регистрации пользователя, тогда можно поступить следующими образами.

Сброс пароля в MODX, через базу данных (БД) сайта

Заходим в phpmyadmin, открываем БД сайта и находим в ней таблицу modx_users.

таблица modx_users

Далее нажать на карандашик (изменить), и в открывшейся табличке, при необходимости изменить логин (username) и пароль (password), предварительно выбрав шифрование MD5.

смена пароля modx

Разблокировка админки MODX Revo

Если, после ввода логина и пароля, вы видите сообщение ваш доступ к системе управления заблокирован администратором (например из-за того что вы при входе в админку, часто вводили не верный пароль), тогда так же идем в phpmyadmin, открываем БД сайта и находим в ней таблицу modx_user_attributes и ставим значение bloked равное 0.

Разблокировка админки MODX Revo

Если и это не помогает, то пишите в комментариях.

Не отображаются картинки в админке modx, что делать?

Белый экран в админке, что делать?

Остались вопросы? Задавайте их в комментариях.

Пытаетесь войти в админку MODX и получаете данное сообщение? Рассказываю как снять блокировку. Кстати этим же способом можно восстановить забытый пароль от админки.

Как разблокировать пользователя MODX Revolution

Простое решение

  • На странице входа в админку MODX нажмите на ссылку Забыли своё имя пользователя?
  • затем укажите е-mail учетной записи или имя пользователя и на почту придёт ссылка со сбросом пароля.

Если не получилось

  • Откройте базу данных сайта через phpMyAdmin, консоль или другой привычный вам инструмент управления базами данных;
  • найдите таблицу modx_user_attributes и измените на 0 (ноль) содержимое полей: blocked, blockeduntil, failedlogincount;
  • вернитесь на страницу входа в админку MODX, обновите ее, после чего авторизуйтесь под своим логином и паролем.

Примечание: Префикс таблиц modx_ в базе данных может быть другим. Указывайте свой.

В случае неудачи, возможно дополнительно нужно изменить пароль.

Как сменить пароль пользователя MODX Revolution

Откройте базу данных сайта через phpMyAdmin, консоль или другой привычный вам инструмент управления базами данных.

Найдите таблицу modx_users и измените для нужного пользователя значения полей:

  • password: kXXEPN9pTwdXnaSlDvUzaJcR2y/1XzCqs9AXcxOzFdQ=
  • salt: 18de7acfa078ec932d6d09f18cf0dbac
  • hash_class: hashing.modPBKDF2
  • cachepwd: пустое
  • active: 1

То же самое можно выполнить через запрос к базе данных:

UPDATE modx_users SET id = 1,username = 'admin',password = 'kXXEPN9pTwdXnaSlDvUzaJcR2y/1XzCqs9AXcxOzFdQ=',cachepwd = '',class_key = 'modUser',active = 1,remote_key = NULL,remote_data = NULL,hash_class = 'hashing.modPBKDF2',salt = '18de7acfa078ec932d6d09f18cf0dbac',primary_group = 1,session_stale = NULL,sudo = 1 WHERE modx_users.id = 1;

Примечание: Префикс таблиц modx_ (для поля modx_users) в базе данных может быть другим. Указывайте свой.

Примечание: Если меняете учетную запись, отличную от администратора, нужно изменить id в начале и конце запроса на id пользователя, которого меняете. Значение поля sudo 1 означает, что пользователь является администратором, для обычных пользователей нужно указывать 0.

Вернитесь на страницу входа в админку MODX, обновите ее, после чего авторизуйтесь под своим логином и паролем password321.

Когда войдете в админку установите свой пароль ПрофильИзменить пароль.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Отредактировано: 19 Июля 2020

Если в процессе попыток вспомнить пароль вам не повезло слишком много раз, и в конечном счете вы встретили надпись «заблокированно администратором» — не отчаивайтесь, просто идите в базу данных, и ищите таблицу _user_attributes. В этой таблице вам понадобиться обнулить 3 строки: «blockeduntil», «blocked» и «failedlogincount».

При использовании phpMyAdmin, структура действий для разблокировки аккаунта администратора примерно следующая:

Можете на всякий случай сделать бэкап таблиц.

  1. Откройте phpMyAdmin
  2. Выберите нужную базу данных из выпадающего списка, к примеру — modx.
  3. Теперь Вы должны увидеть список таблиц в левом меню phpMyAdmin.
  4. Найдите таблицу с названием «table_prefix_user_attributes», где table_prefix_ — префикс таблиц, который Вы могли изменить при установке MODX на свой (например modx_user_attributes ), и нажмите на название данной таблицы.
  5. В правом окне сверху нажмите «Обзор» или «Browse».
  6. Найдите имя своего заблокированного пользователя из появившегося списка ниже и нажмите рядом на рисунке карандаша «Редактировать» или «Edit».
  7. Среди появившихся полей найдите поле с названием «blockeduntil», данное поле содержит значение из 10 цифр (к примеру, 1165661529).
  8. Отредактируйте данное поле, установив значение «0» (нуль).
  9. Также найдите поле «blocked» и, если в нем установлено значение, отличное от «0» (нуля), повторите предыдущее действие.
  10. Сохраните новое значение в базе данных, нажав кнопку «Вперед» или «Go».
  11. Выйдите из phpMyAdmin и попробуйте войти с прежним паролем в менеджер MODx.

Если прежний пароль забыт, его можно скинуть:

MODX Evo: в таблице modx_manager_users переходим в данные нужного пользователя и в поле password меняем значение на указанное ниже.

MODX Revo: в таблице modx_users переходим в данные нужного пользователя и в поле hash_class ставим hashing.modMD5, поля salt и cachepwd очищаем, а в поле password меняем значение на:

5f4dcc3b5aa765d61d8327deb882cf99

Новый пароль — password.

Понравилась статья? Поделить с друзьями:
  • Modx query error
  • Modx parse error syntax error unexpected in
  • Modx manager 500 error
  • Modx formit error message
  • Modx favicon как изменить