I siti realizzati in WordPress, come molti altri strumenti che hanno a che fare con il Web, sono strumenti fondamentalmente sicuri ma noi possiamo adottare alcune misure di sicurezza aggiuntive, in tal modo eviteremo di ritrovarci il sito malconcio a causa di un giovane smanettone cinese, albanese, croato o di casa nostra che ha voglia di divertirsi un po’.
Uno dei tanti metodi che possiamo adottare (insieme ad altri) è cambiare il prefisso delle tabelle di WordPress.
In una normale installazione il prefisso è wp_
Lo so io, lo sapete voi e lo sa anche chi vuole “giocare” con il nostro impegno e spesso il nostro lavoro.
Abbiamo due strade per farlo:
Un plugin
Phpmyadmin
Cambiare prefisso con un plugin
Installare ed attivare un plugin è di sicuro la strada più semplice, anche se non è detto che funzioni sempre.
Il plugin che ho provato e non mi ha dato problemi è Change table prefix , lo installate, lo attivate, scrivete il nuovo prefisso nelle impostazioni, un clic et oilà:
Le tabelle hanno cambiato prefisso rendendo WordPress meno aggredibile.
Cambiare prefisso con phpMyAdmin
Molti di voi storceranno il naso:
“ma come, esistono i plugin, così comodi e semplici da usare e tu mi stai proponendo di usare quello strumento complicato?”
So benissimo che usare un plugin è veloce e semplice ma non è detto che funzioni e se non funziona possono succedere due cose:
il prefisso non cambia, allora è inutile oppure, possibilità più spiacevole, il sito non si connette al database e non risulta più visibile online.
Utilizzando phpMyAdmin si impiega un po’ di tempo in più ma almeno sappiamo cosa stiamo facendo, se commettiamo un errore abbiamo più chances di riparare, in più avrete imparato qualcosa di nuovo e lo avrete fatto voi :).
Si comincia:
1) Fate un backup completo (database e files), sempre e comunque, questa è la cosa principale.
2) Modificate il file wp-config.php
Verso il fondo della pagina trovate il prefisso, si presenta così:
$table_prefix = 'wp_';
modificatelo con il prefisso che più vi piace, in questo esempio userò eded4r56 (non usate prefissi troppo semplici) e questo è il risultato
$table_prefix = ' eded4r56_';
3) Cambiate il prefisso di tutte le tabelle di WordPress
E’ un lavoro da fare a manina, aprite phpMyAdmin e scegliete il database da modificare
Adesso cliccate sulla voce di menu SQL, vi si aprirà una grande finestra in cui andrete a digitare la query per modificare il prefisso delle tabelle, in questo modo:
e clic sul pulsante esegui.
Avete modificato la prima tabella, proseguite con tutte le altre tabelle.
Sì, esatto, una alla volta. So che può risultare un po’ scocciante ma in questo modo si evitano pasticci.
4) Modificate wp_options
Ancora un piccolo sforzo: cliccate sul nome della tabella (dall’elenco alla vostra sinistra), vi ritroverete nella schermata con tutti i dati della tabella.
Adesso nella colonna “option_name” modificate wp_user_roles in eded4r56_user_roles (è molto probabile che non sia in prima pagina, spostatevi con le freccette in basso), cliccando sul pulsante modifica.
5) Modificate wp_usermeta
Giuro che si tratta dell’ultimo passo 🙂
Come avete fatto precedentemente fate adesso, cambia solo il numero delle voci da modificare con il nuovo prefisso, navigate tra le diverse pagine e cambiate tutti i prefissi wp_ con quello da voi scelto (dovrebbero essere 5 o 6).
Complimenti!
Avete reso più sicuro il vostro sito in WordPress.
Controllate il vostro sito, se qualcosa fosse andato storto avrete il backup fatto in precedenza (fatto, vero?).
Scrivetemi pure se avete perplessità.
Alla prossima 😉
Come mi hanno fatto notare acutamente due amici su Google+, (Laura e Massimo) il consiglio è quello di provvedere al cambiamento del prefisso delle tabelle prima dell’installazione di WordPress, contestualmente all’inserimento delle credenziali nel file wp-config.php (hostname, database name, etc): Basta seguire il punto 2) del post, così le tabelle verranno generate con il prefisso da voi scelto già dalla installazione del CMS.
Ciao, grazie per gli utili cocnsigli.
Ho seguito la procedura suggerita ed ho cambiato il prefisso delle tabelle manualmente, senza utilizzare alcun plugin, e tutto ha funzionato perfettamente.
Approfitto di questo spazio per chiedere una cosa: è possibile rinominare la pagina di login e admin senza utilizzare plugins? Io non sono un esperto, ma forse si può fare senza troppe difficoltà…
Grazie per il tuo utile blog.
Enrico
Ciao Enrico, grazie a te per i complimenti:
Immagino che mi chieda del cambio di nome a scopo di sicurezza.
Risponderti su due piedi non è cosa facile ma i metodi sono, normalmente, due:
1) un plugin come Rename wp-login.php che, a quanto pare, funziona molto bene.
2) usare il file .htaccess. Voglio però andare a fondo e capirci dippiù, prima di darti una soluzione che non ho ancora provato personalmente.
Dammi il tempo di fare qualche esperimento e ti risponderò sicuro di quello che scrivo.
Come si dice in questi casi:”Stay tuned” 🙂
Ciao Eugenio,
ti ringrazio per la risposta.
Purtroppo mi sono accorto che in questo momento rinominare le pagina di login e admin è il problema minore…
Questa notte non ho quasi dormito cercando di rimediare all’errore fatto rinominando il prefisso delle tabelle di WP.
Mi sembrava che tutto andasse bene, invece ora tutti i post hanno perso l’associazione alla categoria di appartenenza ed i tags. Anche il menu (che era composto di categorie ed una sola pagina) non è più visibile nè gestibile.
Se io vado in un qualsiasi post e provo ad assegnarli una categoria, l’operazione non va a buon fine.
Non sono un esperto, ma sembrerebbe che le tabelle _terms e _term_taxonomy siano corrotte…
Se invece provo a ripristinare il backup del vecchio database (via phpMyAdmin), ritornano tags e categorie ma degli articoli rimane solo il titolo, mentre non c’è alcun contenuto.
Naturalmente so che tu hai da lavorare e non sei qui a fare beneficenza, perciò ti chiedo se hai qula possibilità di aiutarmi, a pagamento, e quanto mi costa 🙂
Ti ringrazio in anticipo per l’attenzione, qualsiasi sia la tua risposta.
Ciao.
Enrico
Ciao Enrico, mi dispiace per quello che ti è capitato e capisco benissimo la notte insonne (:()
Per quanto riguarda il database corrotto, potrebbe anche essere, avrei bisogno del file .sql per capire meglio.
Comunque, mi sembra che sia tornato tutto in ordine, o mi sbaglio?
Per la “consulenza”, ti prego di inviarmi una mail.
Fammi sapere
Ciao eugenio! Come va ? 🙂
Ho un dubbio relativo alle tabelle di wp_usermeta
Devo cambiare anche le voci con wp in mezzo con il dismissed_wp_pointers o bastano le voci con il solo prefisso wp_ ? 🙂
grazie mille enrico 😉
Di niente Giulio, immagino che il “Grazie” fosse rivolto a me anche se mi hai chiamato “enrico” 🙂
Grazie della guida.
Ho eseguito i tuoi consigli e modificato manualmente le tabelle. Il sito funziona ma non riesco ad accedere nel dashboard. Mi fa loggare ma mi dice “non hai il permesso di accedere a questa pagina”.
Cosa mi è sfuggito?
grazie ancora