Maximus 2008: configurazione passo passo del file kernel/config.php
Un article de Wiki Maximus CMS.
Per cominciare eliminiamo subito ogni diceria che lasci pensare al fatto che se rinomino questo file il mio maximus sarà più protetto ... scordatevelo poichè il pensare questo vuole solo dire che non avete ancora capito come il programma viene caricato in memoria !
Vi dico questo in quanto in ogni caso, se il sito è funzionante ed io trovo una falla che mi permette di rimontare le variabili ( in povere parole le costanti - e questo sarà ancora più pericoloso ), questo vale in ogni caso e poco importa dove è situato e come si chiama questo file di configurazione, dunque in tutti i casi, se c'è una falla, il contenuto di questo file sarà leggibile e quindi sarà del tutto inutile perdere tempo a rinominarlo o a spostarlo in quanto ciò è solo per farci piacere ma nel contempo ci assicurerà una rilevante perdita di compatibilità con alcuni script !
Detto questo, passiamo ad analizzare seriamente il nostro file :)
Ricorda !!!
A partire da Maximus 2008, puoi utilizzare l'utility Fénix per modificare in linea i parametri di configurazione del tuo sito.
In questa versione di maximus 2008, il file di configurazione si è molto arricchito ... questi sono i dettagli dei punti più interessanti ( sorvolo sulle 44 prime linee del file in quanto sono solo dei commenti ):
Per prima cosa viene reso sicuro l'accesso al file
defined("MAXIMUS") OR Header("Location: ../index.php");
Viene controllato che il file non sia già stato caricato in memoria
if ( defined('CONFIGPHP') ) {
return true;
}
Viene posto un marcatore che permette di ricordare che il file è stato caricato
define_once('CONFIGPHP', true);
Da questo momento in poi si va a configurare l'accesso al database
Questi parametri vi vengono segnalati dal provider del vostro sito internet
variabile $dbhost: normalmente localhost
$dbhost = 'localhost';
Variabile $dbuname: nom d'utilisateur MySql
$dbuname = 'root';
Variable $dbname: nome del vostro database
$dbname = 'maximus';
Variabile $dbpass: password di connessione al vostro database
$dbpass = 'db222222';
Variabile $prefix: definisce il prefisso delle vostre tabelle mysql
$prefix = 'max';
Variabile $user_prefix: definisce il prefisso delle tabelle relative agli utenti ( entro una prossima versione dovrebbe sparire o come minimo essere modificato )
$user_prefix = 'max';
Variabile $sitekey: mettete qui ciò che vi viene in mente; questa variabile rappresenta una chiave di sicurezza
$sitekey = 'c4p-3bmrwper*80texk-dsr4gl1-eeyg8aexbray';
variabile $admin_file: nome del file admin.php ( senza il .php )
$admin_file = 'admin';
Fino a qui è tutto come prima ... ora analizziamo la seconda parte del file :
I dati di connessione al database vengono trasferiti dalla forma variabile alla forma definizione e ciò per evidenti ragioni di sicurezza ( rispetto ad una variabile, è molto più difficile risalire ad una define ... )
/** non toccare senza prima essersi ben informati !! */
define_once('DBHOST', $dbhost);
define_once('DBUNAME', $dbuname);
define_once('DBNAME', $dbname);
define_once('DBPASS', $dbpass);
define_once('DBTYPE', 'MySQL');
Ora annulliamo le variabili di identificazione del database; in questa maniera chi tenterà di ottenerle non troverà nulla e da parte nostra non verranno più utilizzate
/** eliminazione delle variabili del database */ $dbhost = $dbuname = $dbname = $dbpass = ;
Ora un interessante parametro che posto per default su true permetterà di visualizzare gli errori di codice nel fondo pagina del vostro maximus; se volete disattivare completamente questa funzione modificate questo parametro in false. Questa funzione è riservata ai soli amministratori ... gli utenti non visualizzeranno alcun errore di codice
/** Configuration: Display errors */
define_once('DISPLAY_ERRORS', true);
Questa definizione deve essere posta su true solo in caso di emergenza ( site completamente in palla, page blanche, impossible de faire quoi que ce soit, c'est une définition dites de dernier recours
/** Configurazione: Force Display errors */
define_once('FORCE_DISPLAY_ERRORS', false);
Attenzione, qui c'è una definizione molto importante che permette di passare in modo sviluppatore, per questo motivo, se non sviluppate un modulo - un blocco - o un tema, questa funzione deve rimanere su false
Questa funzione è stata aggiunta per facilitare il lavoro degli sviluppatori
/** Configurazione: Mode Developper */
define_once('FORCE_MODE_DEVELOPPER', true);
Trasferimento della variabile $admin_file in una define ( utilizzazione ancora parziale per la versione in corso ), troverà tutta la sua utilità nelle prossime versioni di maximus, ma ho deciso di attivarla sin da questa versione ( da non modificare !!! in quanto viene utilizzata in molteplici occasioni )
/** Configurazione: admin.php */
define_once('ADMIN_ACCESS', $admin_file);
Qui viene definito il nome della cartella cache che può essere rinominata a vostra scelta
/** Configurazione della cache */
define_once('CACHE', 'cache');
Qui si determina il préfix dei files cache, anche questo personalizzabile per evidenti ragioni di sicurezza
define_once('PREFIX_CACHE', 'perso');
Qui si determina il nome della cartella nella quale verranno memorizzate i files delle sessioni, per motivi di sicurezza ed in particolare al fine di impedire il furto delle sessioni, questa cartella è rinominabile ( cartella cache/sessions/ per default )
/** Configurazione delle sessioni */
define_once('SESSIONS_PATH', 'sessions');
Qui determiniamo il prefix legato all'url rewriting; i vostri url saranno del tipo GoogleTapSG_news_3.html ( modificare questo prefisso come vi sembra più utile con una o due parole chiave di vostra scela
/** Configurazione: GoogleTap SG */
define_once('GTv2_pref', 'GoogleTapSG');
Qui non dovete toccare nulla; è un primo passo verso la sostituzione degli URLs ( in futuro verrà molto utilizzato al fine di sostituire gli url tradizionali modules.php?name=Module )
/** Configurazione degli URLs */
define_once('MAXURL', 'modules.php?name=');
Infine questa ultima parte ( che non serve quasi più a nulla, sparirà a breve, in quanto maximus si fa carico della sicurezza e pertanto non avremo più bisogno di filtrare il codice HTML come si faceva in passato. Questo semplificherà parecchio le cose e gli amministratori saranno completamente liberi di utilzzare tutto il codice HTML di loro scelta... i tempi evolvono e maximus con loro :) )
// DO NOT TOUCH ANYTHING BELOW THIS LINE UNTIL YOU KNOW WHAT YOU'RE DOING
$AllowableHTML = array("b"=>1,"i"=>1,"a"=>2,"em"=>1,"br"=>1,
"strong"=>1,
"blockquote"=>1,
"tt"=>1,
"li"=>1,
"ol"=>1,
"ul"=>1);

