Ripristinare permessi di amministrazione WordPress persi

Vuoi ripristinare i permessi di amministrazione WordPress persi e non sai come fare ? In questo tutorial ti indicherò come ripristinare i permessi di amministrazione WordPress.
In primo luogo, voglio essere sincero con te.

Ripristinare le autorizzazioni di amministratore di WordPress perse, è piuttosto difficile se non si ha familiarità con SQL.
Dunque è preferibile affidarsi ad uno sviluppatore esperto per aiutarti.
Se decidi di provare a risolvere il problema da solo, allora non ci resta che iniziare.

Prima di iniziare

Se hai familiarità con SQL salta questo passaggio.

Comprendere il significato generale dei comandi SELECT e UPDATE SQL:
SELECT è usato per recuperare le righe selezionate da una o più tabelle;
UPDATE aggiorna le colonne di righe esistenti nella tabella denominata con nuovi valori.

Prova a seguire almeno una delle esercitazioni SQL rapide disponibili prima di iniziare a lavorare con dati reali.

Avrai bisogno di qualche strumento per connetterti al tuo database MySQL di WordPress ed eseguire comandi SQL.

PhpMyAdmin è uno di questi.

Attenzione : Crea un backup del tuo database MySQL WordPress. Dovresti averne sempre uno prima di apportare modifiche ai dati del tuo sito. Questo ti permette di ripristinare il tuo database allo stato precedente , nel caso in cui qualcosa andasse storto.

Il tuo utente ha ancora un ruolo di amministratore?
Vediamo come scoprirlo.

Verifica il ruolo di amministratore

1) Ottieni l’ID utente:

SELECT * FROM wp_users WHERE user_login = ‘your_user_login’;

sostituire ‘your_user_login’ al comando precedente con il proprio login utente e annotare il valore del campo ID dal risultato che si otterrà.

2) Trova quali funzionalità sono assegnate a questo utente:

SELECT * FROM wp_usermeta WHERE user_id = NN AND meta_key = ‘wp_capabilities’;

dove NN è un valore dal campo ID record trovato al passaggio 1.

Alcune installazioni di WordPress hanno un prefisso di tabella predefinito, diverso da un ‘wp_’ .
Puoi trovarlo sul file wp-config.php. Guarda la linea con questo codice:

$ table_prefix = ‘…’;

Se il prefisso della tabella è diverso da “wp_” predefinito, sostituire “wp_” in tutti i comandi SQL come “AND meta_key = ‘sp2101_capabilities’ per il prefisso di tabella ‘sp2101’.

A proposito, la modifica del prefisso tabella predefinito ha senso solo nel caso in cui si imposta più di 1 sito WordPress utilizzando lo stesso database MySQL.

In realtà non migliora la sicurezza del tuo database. Gli Hacker possono sempre usare il comando SQL ‘SHOW TABLES’ per elencare tutti i nomi delle tabelle di database disponibili.

Non sono nascosti in alcun modo dalla persona che ha avuto accesso all’esecuzione del comando SQL.
Quindi sono sicuro che un tale cambiamento renderà a te la vita più difficile, non ad un hacker.

Se è necessario digitare manualmente ‘select * from wp_options’ o ‘select * from sp123456ed_options’ dopo aver modificato il prefisso della tabella cercando di seguire la cosiddetta raccomandazione sulla sicurezza.

Per impostazione predefinita, i comandi utente di “admin” saranno:

SELECT * FROM wp_users WHERE user_login = ‘admin’;
SELECT * FROM wp_usermeta WHERE user_id = 1 AND meta_key = ‘wp_capabilities’;

Il permesso assegnato all’utente admin è un array PHP serializzato:’ a: 1: {s: 13: “administrator”; b: 1;} ‘. Significa che l’utente “admin” ha il ruolo di “amministratore”.

Scrivi da qualche parte il valore del campo ‘umeta_id’. Questo ID univoco può esserti utile in seguito.

Se ottieni un altro risultato dalla query “SELECT * from wp_usermeta”, l’utente ha perso il suo ruolo di amministratore.

Utilizza questa query UPDATE per assegnargli di nuovo:

UPDATE wp_usermeta SET meta_value = ‘a: 1: {s: 13: “amministratore”; b: 1;}’ WHERE umeta_id = NN LIMIT 1;

Dove NN  è il valore numerico del campo ‘umeta_id’ dalla precedente query ‘SELECT * FROM wp_usermeta’ che ti ho chiesto di scrivere per un eventuale suo utilizzo.

Se il tuo utente ha il ruolo di amministratore come dovrebbe, allora qualcosa di sbagliato si è verificato con i dati del ruolo di “amministratore”.

Possiamo procedere con il ripristino dei ruoli utente predefinito.

Ripristina i ruoli utente predefiniti

Questo post spiega in dettaglio come e dove WordPress memorizza i dati dei ruoli degli utenti (incluso quello di ‘amministratore’).

Questo articolo spiega dove è possibile ottenere una copia di backup dei ruoli utente nel momento in cui hai installato User Role Editor o ruoli utente predefiniti creati da WordPress.

Quindi abbiamo uno scenario passo dopo passo per risolvere il nostro problema :

1) Segui i consigli della 3a variante qui descritta:
– trova una copia di backup dei tuoi ruoli utente con questo comando:

SELECT * FROM wp_options WHERE option_name = ‘wp_backup_user_roles’;

In seguito avrai bisogno di un dato dal campo ‘option_value’ .

Se il tuo $ table_prefix su wp-config.php differisce da un valore predefinito ‘wp_’, allora dovresti sostituire ‘wp_’ con tutti i comandi SQL al tuo valore di prefisso della tabella.

2) Trova la registrazione dei ruoli utente corrente con il comando:

SELECT * FROM wp_options WHERE option_name = ‘wp_user_roles’;

Ricorda ID univoco numerico del record: valore del campo ‘option_id’. Sarà usato nella dichiarazione UPDATE più tardi.

3) Utilizzare l’istruzione UPDATE per sostituire i dati dei ruoli correnti con i dati del record di backup: copiarli e incollarli in questo comando:

UPDATE `wp_options` SET option_value = ‘valore modificato qui’ WHERE option_id = NN LIMIT 1;

sostituire NN con ID record dei ruoli utente effettivo.

Prova ad accedere ora e verifica di aver ripristinato l’accesso al back-end di amministrazione di WordPress con le autorizzazioni di amministratore predefinite.

Ora è necessario procedere con il ripristino di plugin attivi e autorizzazioni (ruoli e funzionalità) che vengono installati  durante l’attivazione. Ad esempio, WooCommerce ripristina automaticamente i ruoli e le funzionalità persi al momento della riattivazione.

Alcuni plugin creano i propri ruoli solo durante l’installazione. Quindi è necessario disattivare ed eliminare tramite WordPress tale plugin.

Quindi installarli di nuovo per ripristinare automaticamente i rispettivi ruoli.

In conclusione

In questo tutorial abbiamo visto come ripristinare i permessi di amministrazione WordPress nel caso questi siano persi. Come ti ho accennato fin dall’inizio dovresti affidarti ad un esperto sviluppatore , perchè ripristinare i permessi non è una procedura che tutti possono eseguire senza compromettere il sito web. Dunque fai molta attenzione. In ogni caso predisponi sempre un backup del sito.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *