back to top

Password WordPress dimenticata: come risolvere il problema

Come capita spesso per altre password, anche quella per accedere al pannello di amministrazione di WordPress puรฒ essere dimenticata. Il noto blog engine mette a disposizione un sistema per il recupero della password tramite posta elettronica. Tuttavia, ci possono essere dei problemi in scenari particolari; immaginate, ad esempio, di non potervi loggare alla vostra mailbox a causa di un downtime del server di posta oppure perchรฉ, inavvertitamente, il vostro prezioso account di amministrazione di WordPress รจ associato a una casella di posta non piรน attiva! In situazioni come queste, come si puรฒ recuperare l’accesso alla dashboard di WordPress e cambiare la password dell’utente amministratore senza avere accesso al pannello di amministrazione?

Fortunatamente, esistono diverse strade per impostare una nuova password all’utente amministratore di WordPress. In questo articolo vi spiegherรฒ come fare.

Pubblicitร 

Utilizzare WP-CLI

WP-CLI รจ un’interfaccia da linea di comando che consente di eseguire, attraverso la shell del proprio server, una serie di comandi avanzati. Per utilizzare WP-CLI, รจ necessario disporre di uno spazio web con accesso SSH. Un prerequisito essenziale รจ che il server supporti l’uso di WP-CLI.

Se avete un accesso SSH e WP-CLI installato, siete giร  a buon punto. Non vi resta che connettervi tramite terminale, posizionarvi nella cartella in cui si trova WordPress e lanciare questo comando:

wp user list

Vi verrร  restituito l’elenco degli utenti di WordPress. Identificate l’utente sul quale volete operare annotandone l’ID. Questo รจ un passo cruciale per procedere con il successivo comando.

A questo punto, eseguite il secondo comando, sostituendo “1” con l’ID utente appropriato e “nuovapassword” con la nuova password desiderata:

wp user update 1 --user_pass=nuovapassword

Nel mio esempio ho impostato una nuova password (“nuovapassword”) per l’utente con identificativo 1. Dopo aver eseguito con successo il comando, dovreste poter accedere al vostro pannello di WordPress utilizzando la nuova password.

Utilizzare una query SQL (mediante phpMyAdmin)

Un’alternativa semplice per cambiare la password di amministrazione di WordPress consiste nell’eseguire una query SQL all’interno del vostro database. Per farlo, potete utilizzare phpMyAdmin, un’interfaccia molto comune per gestire i database MySQL.

Effettuate l’accesso a phpMyAdmin, selezionate il database relativo alla vostra installazione di WordPress, quindi andate sulla scheda “SQL” e digitate la seguente query:

UPDATE wp_users SET user_pass = MD5('nuovapassword') WHERE wp_users.user_login = "nomeutente";

Naturalmente, per far sรฌ che l’UPDATE funzioni, sarร  necessario sostituire “nuovapassword” con la password desiderata e “nomeutente” con il nome utente dell’amministratore. Questa operazione รจ immediata e, una volta eseguita, la nuova password sarร  attiva.

Utilizzare uno script di emergenza

In alternativa, un’altra soluzione consiste nell’utilizzare uno dei tanti script di “gestione dell’emergenza” reperibili in Rete. Ho utilizzato con successo uno di questi script sull’installazione WordPress di alcuni clienti che non avevano la possibilitร  di accedere a phpMyAdmin, riuscendo a risolvere il problema in pochi minuti.

Di seguito, vi presento il sorgente dello script PHP. Copiatelo e salvatelo all’interno di un file che chiameremo, ad esempio, “modifica-password.php”:

<?php
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>
<?php exit; ?>

Apriamo il nostro client FTP preferito, connettiamoci al nostro sito WordPress ed effettuiamo l’upload del file “modifica-password.php”.

Una volta completato l’upload, richiamate il file attraverso il browser nel seguente modo:

https://www.miositowordpress.com/modifica-password.php

Eseguite la semplice procedura a video e confermate. Una volta effettuato il cambio della password, ricordatevi di cancellare questo file per garantire la sicurezza del vostro sito!

Seguendo questi passaggi, sarete in grado di recuperare l’accesso al vostro sito WordPress con facilitร , anche in situazioni in cui non avete accesso alla vostra casella di posta elettronica. รˆ sempre consigliabile mantenere aggiornate le informazioni di contatto e le password per evitare complicazioni in futuro.

Altri contenuti interessanti

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.

Leggi anche...

Rimuovere “category” dai link e dai titoli delle categorie di WordPress

Quando si crea un sito con WordPress, la struttura...

Come eliminare la categoria “Senza Categoria” in WordPress

Se hai un sito WordPress, probabilmente hai notato che...

WordPress lento? La guida definitiva per velocizzare il tuo sito

Quando si tratta di gestire un sito web, la velocitร ...

Sito WordPress bloccato in manutenzione: come risolvere?

Un problema comune che si pรฒ incontrare durante la...

Clonare un sito WordPress

Esistono diverse ragioni per cui potrebbe essere utile clonare...

Disabilitare i commenti in WordPress

Una delle caratteristiche da sempre piรน apprezzate nei siti...
Pubblicitร