Seleziona la tua lingua
Recuperare la password di amministratore di Joomla
Può succedere di dimenticarla, o in casi peggiori di subire un attacco durante il quale l'hacker di turno si premura bene di cancellare ogni utente registrato, rendendo impossibile l'accesso al backend...
Non si può fare niente senza password di amministratore, specialmente porre rimedio a danni causati da un attacco. Per fortuna è possibile ripristinarla maneggiando direttamente sul database MySQL sottostante l'installazionedi Joomla! senza troppo sforzo.
L'importante è tenere il controllo del database. Attraverso il pannello di controllo dell'host (è difficile che anche quello venga bloccato da un hacker) si può accedere al tool di amministrazione del database, di solito myPhpAdmin. Se il database è sulla propria macchina allora non ci sono problemi di accesso.
La password è memorizzata sul database nella tabella jos_users nel campo password nel formato {MD5_HASH}:{SALT}. Il salt è una stringa pseudocasuale generata dal sistema che va combinata con la password in chiaro per effettuare la verifica nel seguente modo:
md5_hash = md5(password + salt)
db_password = md5_hash + ':' + salt
Ovvero, per mettere dei valori di esempio, sia password 'miapasswd' e salt 'XYZxyzXYZxyt'
md5_hash = md5('miapasswdXYZxyzXYZxyt')
//md5_hash vale '07f1d6ad5672345bf3228ed88fef02e8'
db_password = '07f1d6ad5672345bf3228ed88fef02e8:XYZxyzXYZxyt'
//db_password è la stringa che comparirà sul database
Per ripristinare una password dimenticata bisogna quindi generare una nuova db_password da inserire con una update nella tabella jos_users.
UPDATE jos_users SET password=<db_password> WHERE username='admin';
Una considerazione importante va fatta sulle release precedenti di Joomla!, dal momento che questo sistema è stato introdotto con la 1.5. Nel vecchio sistema la password sul database era memorizzata come hash md5, per cui molte guide non aggiornate riportano ancora un trucco ormai obsoleto. Il consiglio è quello di non applicarlo, pena la perdita del salt!</p> <p>Un ulteriore buona prassi è proteggere il file configuration.php. Esso contiene la password del database in chiaro. Un lamer qualsiasi sarebbe troppo eccitato dall'esecuzione dello script trovato su Internet per preoccuparsene, ma un attaccante esperto che conosce il sistema guarderà quel file prima di tutto. Inutile dire che va protetto almeno in scrittura.