wake-up-neo.com

Como (re) definir a senha para administrador após a migração da versão 1.5?

Migrei um site antigo do Joomla 1.5 para uma nova versão brilhante do Joomla 3.3 usando a ferramenta SP UPGRADE .

Agora não consigo fazer login e temo que seja porque todas as senhas de usuário no banco de dados se parecem com 'MD5': 'Salt', que é a maneira antiga de criar senhas.

Entendo que o código mais recente usa uma senha baseada. Todos os métodos que eu descrevi sobre colar na senha 'secreta' do estilo antigo não estão funcionando.

Como redefinir uma senha no Joomla 3.3?

7
tgunr

Aqui está uma solução alternativa para redefinir temporariamente sua senha da sua conta.

  1. Entre no seu painel de hospedagem e use a ferramenta de banco de dados que está disponível (provavelmente PHPmyAdmin).

  2. Carregue o banco de dados apropriado e, em seguida, vá para a tabela jos_users. (O prefixo do banco de dados pode ser diferente para o seu caso).

  3. Vá para a visualização de navegação do PHPmyAdmin, para obter a visualização dos registros dos usuários.
  4. Localize sua conta e clique para editar, ou clique diretamente no campo 'senha' (normalmente o PHPmyAdmin tornará o campo editável com isso).
  5. No campo da senha, cole o valor abaixo:

$ 2y $ 10 $ JszAMznv7U2Q4VETQdw7n.CX/HPekafC8sxa9.n0V2gp/t/.xvHYi

  1. Não aplique nenhuma função especial para salvar o campo e ele definirá a senha da sua conta como admin. Salve o registro.

Agora você pode fazer login com sua conta, usando como senha: admin.

Após o login, certifique-se de definir a senha desejada.

9
FFrewin

Além da boa resposta de FFrewin, aqui estão algumas maneiras alternativas de redefinir a senha do administrador.

Aviso
Lembre-se de que a maioria desses métodos definirá sua senha como algo simples como admin. É muito importante definir uma senha mais forte posteriormente. Se houver motivos para acreditar que o site foi invadido, você pode remover outros usuários com acesso de administrador depois de recuperar o acesso à sua instalação do Joomla.
Esses métodos são parcialmente retirados de Joomla Docs .

Alternativa 1: arquivo Configuration.php

Se você conseguir fazer login com outro usuário (sem direitos de superadministrador), é possível adicionar esta linha na parte inferior de configuration.php no seu diretório raiz do Joomla:

public $root_user='myname';

Substitua myname pelo nome de usuário de qualquer usuário que você conheça a senha (com direitos de autor ou superior). Agora esse usuário poderá efetuar login como superadministrador e você poderá editar/adicionar usuários no gerenciador de usuários. Lembre-se de remover a linha extra do seu configuration.php _ quando você terminar, permitindo que o Joomla tente fazê-lo automaticamente quando solicitado, ou editando o arquivo manualmente.

Alternativa 2: adicionar novo usuário superadministrador

Um novo usuário superadministrador pode ser criado usando este método:

  1. Abra o phpMyAdmin (ou similar, dependendo da sua hospedagem) e selecione o banco de dados para o Joomla! local.
  2. Pressione o botão "SQL" na barra de ferramentas para executar uma consulta SQL no banco de dados selecionado. Isso exibirá um campo chamado "Executar consultas/consultas SQL no banco de dados". Exclua qualquer texto desse campo, copie e cole a seguinte consulta abaixo e pressione o botão Ir para executar a consulta e adicionar o novo usuário Administrador à tabela:

    INSERT INTO `jos31_users`
    (`name`, `username`, `password`, `params`)
    VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');
    INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
    VALUES (LAST_INSERT_ID(),'8');
    
  3. Lembre-se de substituir as duas ocorrências de jos31_ com o prefixo usado pela instalação do Joomla (isso geralmente é facilmente detectado no phpMyAdmin).

  4. Agora você pode acessar seu site com nome de usuário admin2 e senha secret . Lembre-se de editar sua senha depois de fazer login.

Alternativa 3:

Crie um arquivo PHP com o código abaixo, faça o upload para o diretório JOOMLAROOT/administrador e execute-o no seu navegador. Ele fará o logon instantaneamente (Joomla 2.5 e 3) e permitirá você deve adicionar/editar usuários. Lembre-se de remover o arquivo assim que terminar. Caso contrário, isso representará um enorme problema de segurança.

A ferramenta também pode ser encontrada aqui: http://myext.eu/en/j25-login

<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
    include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';
require_once JPATH_BASE.'/includes/helper.php';
require_once JPATH_BASE.'/includes/toolbar.php';
$app = JFactory::getApplication('administrator');
JPluginHelper::importPlugin('user');
$user = JUser::getInstance();
$db = JFactory::getDBO();
$q = 'SELECT u.* FROM `#__users` as u
        LEFT JOIN `#__user_usergroup_map` as ug ON u.id = ug.user_id
        WHERE `block` = 0 AND `activation` = 0 AND ug.group_id = 8
        LIMIT 0,1';
$db->setQuery($q);

$user_tmp = $db->loadObject();
$user_tmp->guest = 0;
$user_tmp->isRoot = 1;
// $user_tmp->groups = array(8=>8);
// $user_tmp->_authGroups = array(1,8);
// $user_tmp->_authLevels = array(1,1,2,3);
// $user_tmp->gid = 1000;

foreach($user_tmp as $k=>$v){
    $user->set($k,$v);
}
$session = JFactory::getSession();
$session->set('user', $user);
$app = JFactory::getApplication();
$app->checkSession();
$app->redirect( JUri::base(), "" );
7
johanpw