Site icon Tosolini.info

WordPress: disabilitare il recupero password

Quest’oggi vediamo un tema a mio avviso un po’ controverso. Se stiamo agli sviluppatori di WordPress, il recupero della password è una funzione di base non disinseribile. O meglio, in passato erano presenti delle funzioni, che però almeno stando alle mie prove pare non esistano più.

Se stiamo alla letteratura della Cyber Security, il recupero password è visto come il fumo negli occhi, perché è un potenziale punto di inserimento. Teoricamente è vero, ma allo stesso tempo per arrivare a carpire l’account di un sito scritto in WordPress ci devono essere altri punti deboli della catena, che a dirla tutta sono ben peggiori dell’avere il recupero password attivo.

Ad ogni modo, se avete accesso al Database, anche nel caso si perda la password, o per qualche motivo non riuscite ad entrare nella parte amministrativa del sito, pur senza il recupero password si può intervenire per ripristinare la situazione. Se non avete accesso alla base dati, ma l’unico modo di accesso è WordPress medesimo, vi sconsiglio la procedura che segue.

Quindi, di seguito andremo ad eliminare il recupero password di WordPress in due fasi. La prima va ad inibire le funzioni della URL e il suo redirect, la seconda toglie banalmente il link “recupera password” dalla pagina di Login.

Per prima cosa dobbiamo individuare il file functions.php del vostro tema grafico. Per togliere i link:

/wp-login.php?action=lostpassword

/wp-login.php?action=retrievepassword

sarà sufficiente copiare e incollare il codice che segue prima del simbolo “?>” a fine pagina

// Disable Password Reset URL & Redirect
function tw_disable_lost_password() {
  if (isset( $_GET['action'] )){
      if ( in_array( $_GET['action'], array('lostpassword', 'retrievepassword') ) ) {
          wp_redirect( wp_login_url(), 301 );
          exit;
      }
  }
}
add_action( "login_init", "tw_disable_lost_password" );

Nello stesso file, per togliere il link dalla pagina di Login aggiungete:

// Remove Lost Password Link
function tw_remove_lostpassword_text ( $text ) {
         if ($text == 'Lost your password?'){$text = '';}
                return $text;
         }
add_filter( 'gettext', 'tw_remove_lostpassword_text' );

Salvando i file le due funzioni sono già attive, e se provate con un browser diverso, o una sessione in incognito, a raggiungere i link, vi troverete alla Home Page. Mentre nella pagina di login il link per il recupero password è scomparso.

Chiaramente la funzione base non è stata rimossa, è ancora lì e il codice “core” di WordPress non è stato toccato, ci siamo solo limitati a nascondere queste funzionalità.

Exit mobile version