Забыл пароль в MODX Revolution 2.1+

Облазил весь интернет — еле нашел.

Если вы вдруг забыли пароль от админки MODx Revolution не отчаивайтесь!

В MODX Revo 2.1+ пароль шифруется с использованием SALT и схема сброса пароля изменилась. Если у нас есть доступ в phpMyAdmin, но мы забыли пароль в админку — надо сделать следующее:

  1. Находим в базе табличку modx_users
  2. Меняем поле password на 5f4dcc3b5aa765d61d8327deb882cf99
  3. В поле salt удаляем значение
  4. В поле hash_class пишем hashing.modMD5
  5. Вуаля! Наш пароль теперь password! 

Поделиться с друзьями

Френдинг

 

Comments: 3

Leave a reply »

 
 
 

Есть ещё 1 способ, если нету phpMyAdmin например из соображений безопасности.
Используя API модекса.

Создать где либо на сервере данный файл с php кодом и выполнить, как выполнять не важно либо прямо на сервере либо открыть в браузере.

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.”;

?>

 

Спасибо, будем знать.
+Ведь можно phpmyadmin временно поставить и снести потом.

 

спасибо!

 

Leave a Reply

 
(will not be published)
 
 
Comment