Il file configuration.php contiene i dati di configurazione del sito, a partire dai dati del database. Proteggerlo è un'azione di sicurezza fondamentale. Ma come?

Una soluzione è spostare il file configuration.php fuori dalla cartella pubblica del sito (in genere public_html, oppure httpdocs oppure www, a seconda dei server).

Il primo passaggio è creare fuori dal percorso pubblico dello spazio web una cartella, nominandola ad esempio conf.

configuration.php fuori public html

Inseriamo quindi una copia del file configuration.php dentro la cartella conf.

Occorre poi modificare l'indicazione del percorso del file configuration.php presenti nei file defines.php (cartella includes), lato pubblico e lato amministrativo.

Accediamo all'interno della cartella includes e administrator/includes, apriamo i due file defines.php e modifichiamo la riga di codice evidenziata.

da

// Defines.
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define('JPATH_CONFIGURATION', JPATH_ROOT);
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_BASE . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');

a

// Defines.
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define( 'JPATH_CONFIGURATION', JPATH_ROOT.'/../conf');
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_BASE . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');

Dopo aver verificato il corretto funzionamento del sito, è possibile eliminare il file configuration.php presente all'interno della cartella pubblica


promo back to school