Recuperando a senha do WordPress

Esqueceu a senha de acesso de seu Wordpress? Veja algumas formas de redefinir a senha de seu aplicativo.

A maneira mais simples de redefinir a senha é através da opção "Perdeu sua senha?" em sua tela de Login do Wordpress.

Basta informar a conta de e-mail vinculada ao seu usuário, e clicando em "Obter nova senha" um link de redefinição de senha será enviado para sua conta de e-mail.

Para concluir o procedimento acesse o link recebido em sua conta de e-mail, digitando uma nova senha de acesso e clicando em "Redefinir senha".

Para efetuar a alteração de senha do Wordpress diretamente no banco de dados, vamos acessar seu Banco de dados via phpMyAdmin, acessando sua conta no painel de controle e na opção "Banco de dados".

Ao lado do Banco de Dados do seu Wordpress, clique em "Acessar via PHPMyAdmin".

Dentro do PHPMyAdmin, clique sobre o nome de seu Banco de dados à esquerda. Selecione a tabela "wp_users".

Ao lado de seu usuário, clique em "Editar".

No campo "user_pass" selecione a opção "MD5" na caixa de seleção. Apague o conteúdo da caixa de texto ao lado, digitando a nova senha de seu Usuário. Clique em "Executar" para aplicar a alteração de senha.

Pronto, sua senha foi alterada diretamente no Banco de Dados.

Caso não tenha conseguido efetuar a alteração da senha via Banco de Dados, você pode utilizar o “Emergency Script” do Wordpress.

Vamos acessar o Painel da RedeHost e ir em "Gerenciador de arquivos".

Dentro do Gerenciador, vamos acessar a Pasta Raiz de sua hospedagem ("www" para hospedagens Linux, "wwwroot" para hospedagens Windows).

Vamos clicar em "Novo Arquivo", e criar um arquivo com o nome de "emergencia.php".

Depois de criado, vamos encontrá-lo dentro da Pasta Raiz e clicar em "Ver/Editar Arquivo".

Dentro da caixa de texto que será aberta vamos inserir o código do Emergency Script, clique sobre o titulo abaixo para visualizar o script completo:

<?php
/*
	This program is free software; you can redistribute it and/or modify
    	it under the terms of the GNU General Public License as published by
    	the Free Software Foundation; either version 2 of the License, or
    	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
    	but WITHOUT ANY WARRANTY; without even the implied warranty of
    	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
    	along with this program; if not, write to the Free Software
    	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

require './wp-blog-header.php';

function meh() {
	global $wpdb;

	if ( isset( $_POST['update'] ) ) {
		$user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) );
		$user_pass  = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] );
		$answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>The user name field is empty.</strong></p></div>' : '' );
		$answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>The password field is empty.</strong></p></div>' : '' );
		if ( $user_login != $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1" ) ) {
			$answer .="<div id='message' class='updated fade'><p><strong>That is not the correct administrator username.</strong></p></div>";
		}
		if ( empty( $answer ) ) {
			$wpdb->query( "UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'" );
			$plaintext_pass = $user_pass;
			$message = __( 'Someone, hopefully you, has reset the Administrator password for your WordPress blog. Details follow:' ). "\r\n";
			$message  .= sprintf( __( 'Username: %s' ), $user_login ) . "\r\n";
			$message .= sprintf( __( 'Password: %s' ), $plaintext_pass ) . "\r\n";
			@wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Your WordPress administrator password has been changed!' ), get_option( 'blogname' ) ), $message );
			$answer="<div id='message' class='updated fade'><p><strong>Your password has been successfully changed</strong></p><p><strong>An e-mail with this information has been dispatched to the WordPress blog administrator</strong></p><p><strong>You should now delete this file off your server. DO NOT LEAVE IT UP FOR SOMEONE ELSE TO FIND!</strong></p></div>";
		}
	}

	return empty( $answer ) ? false : $answer;
}

$answer = meh();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>WordPress Emergency PassWord Reset</title>
	<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php bloginfo( 'charset' ); ?>" />
	<link rel="stylesheet" href="<?php bloginfo( 'wpurl' ); ?>/wp-admin/wp-admin.css?version=<?php bloginfo( 'version' ); ?>" type="text/css" />
</head>
<body>
	<div class="wrap">
		<form method="post" action="">
			<h2>WordPress Emergency PassWord Reset</h2>
			<p><strong>Your use of this script is at your sole risk. All code is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness. Further, I shall not be liable for any damages you may sustain by using this script, whether direct, indirect, special, incidental or consequential.</strong></p>
			<p>This script is intended to be used as <strong>a last resort</strong> by WordPress administrators that are unable to access the database.
				Usage of this script requires that you know the Administrator's user name for the WordPress install. (For most installs, that is going to be "admin" without the quotes.)</p>
			<?php
			echo $answer;
			?>
			<p class="submit"><input type="submit" name="update" value="Update Options" /></p>

			<fieldset class="options">
				<legend>WordPress Administrator</legend>
				<label><?php _e( 'Enter Username:' ) ?><br />
					<input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-name'] ) ); ?>" size="20" tabindex="10" /></label>
				</fieldset>
				<fieldset class="options">
					<legend>Password</legend>
					<label><?php _e( 'Enter New Password:' ) ?><br />
					<input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-pass'] ) ); ?>" size="25" tabindex="20" /></label>
				</fieldset>

				<p class="submit"><input type="submit" name="update" value="Update Options" /></p>
			</form>
		</div>
	</body>
</html>

Depois de inserido o código, vamos clicar em "Salvar".

Agora podemos acessar o endereço seudominio.com.br/emergencia.php e lhe será exibida a página de redefinição de senha, solicitando o Usuário do Wordpress e a nova senha deste Usuário.

Após definir os dados basta clicar em "Update Options" e pronto, sua senha do Wordpress estará alterada.

IMPORTANTE: Após alteração da senha, retorne ao Gerenciador de Arquivos e remova o arquivo "emergencia.php" que criou. Caso contrário, qualquer pessoa que acessar o arquivo via navegador poderá alterar a senha de seu Usuário.