Cambiare il prefisso delle tabelle del sito in Joomla

Cambiare il prefisso delle tabelle del sito

Cambiare il prefisso delle tabelle del sito è una operazione relativamente semplice, ma richiede comunque una certa comprensione della terminologia e delle operazioni sui database, nonché una certa disinvoltura nell'uso degli strumenti descritti.

 

Questo articolo si applica a Joomla 1.5, 2.5 e 3.x. Le versioni attuali di Joomla utilizzano un prefisso casuale per le proprie tabelle, rendendone così più difficile l'individuazione.

 


Tenete presente che questa è un'operazione che sì contribuisce alla sicurezza del sito, ma sicuramente non è risolutiva di tutti i problemi.

Rinominare le tabelle del sito manualmente

Fermare il sito
Mettete offline il sito dal pannello di configurazione dell'interfaccia di amministrazione, in modo che altri utenti non possano modificare le informazioni contenute nel sito durante la modifica del codice sql.

Ottenere il codice sql
Scaricate il dump del db.  Se disponete di phpmyadmin potete ricorrere al menù di esportazione, selezionando il formato 'sql' e specificando l'opzione  'create table'.

Copia di sicurezza
Effettuate una copia del dump scaricato e salvatela in posto sicuro: NON lavorate mai sul documento originale.

Editor da usare
Ricordatevi di usare un editor come notepad++ verificando che la codifica sia su utf8 (standard j1.5) senza BOM. Non usate l'editor base di Windows, correreste il rischio di non poter più usare  il file modificato, dato che Windows inserisce una marcatura all'inizio del file (il byte order mark) che non è gradita al mondo unix.

Sostituzione del prefisso
Usando le funzioni di cerca e sostituisci dell'editor sostituite il vecchio prefisso 'jos_' con il nuovo: è consigliato di mantenere lo stesso formato usato da Joomla, ovvero: iniziare con una lettera seguita  da una sequenza di ulteriori lettere e/o numeri terminata dal carattere di sottolineatura ('_').

Salvare
Sembra un consiglio banale ma ricordatevi di salvare.

Svuotare il vecchio database
Verificate di avere la copia originale del database che avete scaricato prima, in modo di poter ripristinare le funzionalità del sito in caso di errori.
Tramite l'interfaccia di amministrazione del db date ora il drop a tutte le tabelle di Joomla. Non cancellate l'intero database perché potreste poi avere dei problemi a ricrearlo con i giusti permessi/utenti ed inoltre potrebbe essere usato anche per altri scopi e/o siti.

Caricare il nuovo codice sql
Importate ora il codice sql modificato nel database. Se disponete di phpmyadmin potete ricorrere al menù di importazione, se notate che il file è troppo grande per le capacità di upload del vostro server provvedete a comprimerlo prima dell'invio.

Aggiornare la configurazione
Cambiate il prefisso delle tabelle in configuration.php (la variabile $dbprefix) sostituendo jos_ con il nuovo prefisso.

Riattivare il sito
Ricollegatevi all'interfaccia di amministrazione del sito e rimettete online il sito. Il fatto  di  riuscire a collegarsi è già indice della corretta riuscita della configurazione.

 

Rinominare le tabelle del sito in automatico con un programma

Leggere comunque con attenzione il predente punto.

Il seguente programma permette di rinominare le tabelle del sito, cambiandone il prefisso, in maniera automatica. È sufficiente caricarlo nella directory che contiene Joomla! e poi richiamarlo direttamente dal browser.  Il programma vi chiederà il prefisso attualmente  in uso (non ne ha bisgno in realtà, è solo per verificare che l'utente sappia che sta facendo) ed il nuovo prefisso, dopo di che provvederà a rinominare le tabelle che iniziano con il vecchio prefisso. Alla fine dell'esecuzione ricordatevi aggiornare configuration.php (la variabile $dbprefix)  con il nuovo prefisso.

Lo script è gratuito e rilasciato sotto licenza GNU/GPL, in che implica, però, anche l'esclusione di qualsiasi garanzia di funzionamento.

Effettuate sempre il back up del db prima di procedere.

Compatibile con Joomla 1.5, 2.5 e 3.x

 

L'intervento sul sito

Come si può vedere cambiare il prefisso delle tabelle del sito non è un'operazione particolarmente complessa, tuttavia non deve essere affrontata con superficialità:  se non siete esperti rivolgervi a dei professionisti, soprattutto per quanto riguarda i siti aziendali, è sempre una scelta saggia.

 

Commenti   

0 #3 Mauro 2014-07-05 19:43
Buongiorno, ho eseguito lo script e modificato il file configuration con il nuovo parametro (avevo ancora la tabella con estensione j25 molto pericolosa in quanto subisco attacchi hacker). Quando pero' sono ho finito richiamando il mio sito mi da errore sulla tabella -- session...

Cosa e' successo ?

Ovviamente il sito al momento non e' piu accessibile.

===Risposta:
buongiorno mauro,
sicuramente sarebbe stato utile, al fine dell'individuaz ione del problema, indicare l'esatto messaggio di errore, e non riportarne genericamente la presenza.
Dato che la tabella #__session è la prima ad essere usata, e data la situazione specifica, si può solo presupporre che il prefisso indicato nel file configuration.p hp non corrisponda con quello effettivamente in uso; una verifica con l'interfaccia di amministrazione del dbase scioglierà ogni dubbio.

buona giornata,
marco
Citazione
0 #2 Guest 2010-06-23 21:15
scusami ma mi ero dimenticato di cambiare i permessi sul config
ora è tutto a posto.
grazie a presto
P.S. appena posso ti farò una donazione

====Risposta:
no problem. questo sito non richiede alcuna donazione.
Citazione
0 #1 Guest 2010-06-23 17:29
ho installato il file, eseguito il cambio ma ricevo:
"tablesession::store failed
DB function failed with error number 1146
Table 'miosito_blog.m ml25_session' doesn't exist [...omissis...]

ho cambiato il prefisso nel configuration.p hp
se puoi illuminarmi! :cry:

====Risposta:
mml25_session! non hai cambiato il prefisso in configuration.p hp 8)
Citazione

Aggiungi commento

Please note: URL in text are not linked and user's site address is only for internal use and is not published.

Comments are human checked. All spam will be removed, so don't waste your time and, especially, mine!

Codice di sicurezza
Aggiorna