Ia hoje fazer alguns testes numa instalação do wordpress que tenho no meu computador, após várias tentativas não me lembrava da password de admin que configurei para esta instalação. Ainda fui á base de dados mas lá tem apenas um md5 da password.
Lá fiz um ficheiro php que faz “echo md5(password)” e colei o valor na base de dados e ficou ok.
Para me facilitar o trabalho em futuros e previsíveis esquecimentos criei um pequeno script em php que faz todo o processo de reset da password de admin, bastando para isso editar o valor da password em plain text que está no topo do ficheiro.
Em baixo disponibilizo a source em php do ficheiro, para usar basta colar este texto num ficheiro .php na pasta da raiz da instalação do wordpress e visitar o mesmo no browser.
<?php
/*Nome do utilizador do qual queremos alterar a password*/
$nome_utilizador = "admin";
/*Nova password para o utilizador configurado em cima!*/
$nova_password = "teste";
/*
ATENÇÃO: se deixar este ficheiro no servidor sempre que alguém aceder ao mesmo a password
será alterada para esta.
Não é necessário alterar nada daqui para baixo, este script lê as configurações de acesso à
base de dados através do ficheiro de configuração do wordpress
*/
require( dirname(__FILE__) . '/wp-config.php' );
$ligacao = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if (!$ligacao) {
die('Não foi possível Ligar: <br />' . mysql_error());
}
echo 'Ligação á base de dados bem sucedida!!<br />';
$base_dados = mysql_select_db(DB_NAME, $ligacao);
$nova_password = md5($nova_password);
if (mysql_query ("update ".$table_prefix."users set user_pass = '".$nova_password."' where user_login = '".$nome_utilizador."'"))
{
echo "Password alterada com sucesso!!!<br />";
}
else
{
echo "Ocorreu um erro ao alterar a password!!<br />".mysql_error();
}
echo "Deve agora apagar este ficheiro do servidor!!<br /><a href=\"http://antoniocampos.net\">Antonio Campos</a>";
mysql_close($ligacao);
?>