Как узнать свой пароль в MODX Revo

Как узнать свой пароль в MODX Revo

Как оказалось, случается так, что в админку MODX Revo не попасть… Вроде и логин верный, и пароль прежний, но система не пускает. А спустя попыток 20 еще и блокирует! И кого, суперглавного и единственного админа! Ужас!

И тут начинаются поиски способов возврата доступа к своему же сайту, коих в Сети предостаточно. Но для чего же тогда эта запись? Для продвижения? Нет, ее придется «двигать» до старости и в ТОП-10 она даже тогда не попадет. Тогда для чего? Вернее, для кого? Ответ прост: для себя. Исходя из личного опыта, а возился с паролем я раза три, не меньше, я решил собрать в одну запись известные мне самые простые способы поиска своего же пароля и извлечения его из MODX Revo, плюс добыча доступа к БД MySQL, плюс бонусом разблокировка себя же без знания пароля админки CMS и напоследок вспомним, как иметь с собой все данные своего FTP-клиента.

Первое, что нам необходимо-получить доступ к БД MySQL. Ну бывает такое, что в браузере мы его не сохранили или работаем на другом рабочем месте, в-общем, нет его! Делаем следующие манипуляции:

Открываем свой FTP-клиент, коннектимся со своим сайтом и следуем по пути:

core/config/config.inc.php

В конце тоннеля пути требуемый файл, открываем его текстовым редактором и….

<?php
/**
 * MODX Configuration file
 */
$database_type = 'mysql';
$database_server = 'mysql.***.ru';
$database_user = 'Имя пользователя БД';
$database_password = 'Пароль БД';
$database_connection_charset = 'utf8';
$dbase = 'Имя БД';

Строка 7 сообщает нам имя пользователя БД, строка 8 — пароль БД, строка 10 — имя БД! Бинго! Можно идти к phpMyAdmin, пропуская….

Второе, чем мы занимаемся (уже в phpMyAdmin), ищем таблицу:

modx_users

В ней записаны все пользователи сайта. Естественно, нас интересует один пользователь-Вы. Это пользователь с id 1. Жмем «Изменить»…

Ах да, чуть не забыл, один из принципов написания мной мануалов — простота! Поэтому все запросы идут лесом, а мы изменяем значения следующих полей аналогично указанным ниже:

password: kXXEPN9pTwdXnaSlDvUzaJcR2y/1XzCqs9AXcxOzFdQ=

salt: 18de7acfa078ec932d6d09f18cf0dbac

Сохраняем результат. Теперь наш пароль для входа password321. Идем в админку, пишем свой логин и этот пароль. Входим. Меняем пароль на новый 🙂

Дальнейшее развитие тоже возможно: Пользователь временно заблокирован. Чо делать-то? Идти в phpMyAdmin, благо, пароль к нему мы уже помним. пришли, находим таблицу:

modx_user_attributes

Снова нам нужен пользователь с id 1. Идем в него и меняем значения следующих полей на нули:

blocked

blockeduntil

blockedafter

Обязательно сохраняем, проверяем, пытаясь попасть в админку. Все должно получиться. Если нет, проверяем в таблице modx_users поле active, значение должно быть 1.

Ну вот и все, и не надо никаких запросов, изменения кодировок и пр… Зачем оно все, когда с меньшей информацией результат тот же?

Бонус 🙂 

У меня всегда под рукой флешка. На ней «живет» FTP-клиент и данные всех сайтов отдельным файлом, мало ли что… Совсем необязательно иметь клиента на флешке, достаточно иметь файл с данными! Так извлечем же его и зарезервируем!

Итак, у нас есть Filezilla, но нет файла с данными. Идем:

  • «C:\Documents and Settings\<username>\Application Data\Filezilla» (Windows XP)
  • «C:\Users\<username>\AppData\Roaming\FileZilla» (Windows Vista/7)
  • «~/.filezilla» (Linux / Mac OS X)

В конце пути находим файл sitemanager.xml. Вот оно! Открыв его видим примерно следующее:

<Server>
 <Host>ftp.ВашСайт.cf</Host>
 <Port>21</Port>
 <Protocol>0</Protocol>
 <Type>0</Type>
 <User>u804201422</User>
 <Pass encoding="base64">ВашПароль</Pass>
 <Logontype>1</Logontype>
 <TimezoneOffset>0</TimezoneOffset>
 <PasvMode>MODE_DEFAULT</PasvMode>
 <MaximumMultipleConnections>0</MaximumMultipleConnections>
 <EncodingType>Auto</EncodingType>
 <BypassProxy>0</BypassProxy>
 <Name>Drupal</Name>
 <Comments />
 <Colour>0</Colour>
 <LocalDir />
 <RemoteDir />
 <SyncBrowsing>0</SyncBrowsing>
 <DirectoryComparison>0</DirectoryComparison>Drupal</Server>

И такая схема для каждого из соединений, сохраненных Filezilla. КонтрлЦэ ВашПароль, КонтрлВэ его в любой дешифратор, работающий с base64, на выходе получаем наш пароль! Красотища, все получилось! Да и я теперь по всему Интернету искать не буду, когда оно понадобится:)