Disabilitare il cambio password in WordPress

Oltre alla classica possibilità di cambiare la password dalla pagina di modifica del proprio profilo, come impostazione predefinita, WordPress consente ai propri utenti di effettuare un ripristino della password di accesso al proprio account, fornendo l’indirizzo email sul quale verrà inviata una mail di conferma dell’azione richiesta.
Ma come puoi fare se desideri disabilitare queste opzioni e far sì che l’utente non abbia il controllo sulla modifica della propria password di accesso?
- Leggi l'articolo, ti bastano solo 1 minuto, 19 secondi
Sei di fretta? Scarica il PDF e consultalo quando vuoi!
Sommario
Perché disabilitare il recupero della password su WordPress?
Ti starai chiedendo perché dovresti disabilitare la modifica della password in WordPress. Beh, le motivazioni potrebbero essere molteplici, ad esempio hai creato un account demo condiviso tra diversi utenti e se uno di loro modificasse la password, impedirebbe l’accesso anche agli altri.
Vediamo quindi come evitare che un utente WordPress possa modificare la password di accesso Come accennato, le aree in cui è possibile modificare la password del proprio account sono due: la pagina dedicata per il recupero della password smarrita e la pagina profilo del backend di WordPress.
Ma adesso passiamo ai fatti.
Rimuovere il reset della password in WordPress
Tutti gli utilizzatori di WordPress sanno che per accedere alla schermata di login per la parte admin è sufficiente aggiungere wp-login.php oppure wp-admin alla URL del proprio sito web WordPress. Da qui, ti è possibile, tramite l’apposito link, dirigerti alla pagina di reset della password:
ed effettuare la richiesta fornendo l’indirizzo email dell’account:
A questo punto, una mail di conferma verrà inviata all’indirizzo email inserito, ovviamente se esiste un account con quell’indirizzo.
Per evitare che ciò accada, basta modificare il file functions.php del tuo tema, che trovi in:
wp-content/themes/{nome_del_tema}/
che trovi nello spazio FTP del tuo sito ed inserire questa piccola porzione di codice:
// Disabilita il reset della password add_filter ( 'allow_password_reset', '__return_false' );
Da questo momento, quando un utente tenterà di effettuare un reset della propria password, riceverà un messaggio di errore:
Disabilitare il cambio password dalla pagina di profilo
Il secondo step è prevenire che l’utente, una volta loggiato correttamente, possa modificare la password dell’account dalla pagina di modifica del proprio profilo:
Come fare? Semplice, è sufficiente modificare il file functions.php del tuo tema, che trovi in:
wp-content/themes/{nome_del_tema}/
che trovi nello spazio FTP del tuo sito ed inserire il codice:
add_filter( 'show_password_fields', '__return_false' );
In questo modo i campi del form che permettono la modifica della password vengono completamente rimossi:
Un piccolo approfondimento
Naturalmente, potresti voler eliminare la possibilità di modificare la password a tutti gli utenti, ma renderlo possibile agli amministratori del sito, senza la necessità di doverlo fare direttamente da database, come descritto nella guida:
Questo è possibile con una piccola modifica al precedente codice:
// Disabilita il cambio password per gli utenti non admin add_filter( 'show_password_fields', function() { if ( is_admin() && ! current_user_can( 'administrator' ) ) { return false; } return true; } );
Da questo momento, i campi che consentono di modificare la password dell’account nella pagina profilo nel backend di WordPress saranno visibili solamente agli account con privilegi di amministratori, mentre a tutti gli altri ruoli utente sarà preclusa la possibilità di modificare la password.
Ciao, c'è anche il modo per far si che solo all'amministratore venga permesso di modificare la password dal login? Utilizzando il primo dei tre codici, infatti, anche all'admin (con il suo nome utente o mail) viene impedito di modificare la password e se malauguratamente fosse sloggato dal sito e l'avesse dimenticata, non entra più nel sito.
Grazie del chiarimento.