Maximus 2008: configuration pas à pas du fichier kernel/config.php
Un article de Wiki Maximus CMS.
Pour commencer et pour tuer toute rumeur laissant à penser que si je renomme ce fichier mon maximus sera plus sécurisé, détrompez vous car penser ceci c'est tout simplement ne pas comprendre comment se monte en mémoire le logiciel !
Je dis ceci car dans tous les cas, si le site est fonctionnel et que je trouve une faille me permettant de remonter les variables ( enfin maintenant constantes - ce qui sera encore plus dur ), je dis bien dans tous les cas et peu importe ou se situe et comment se nomme ce fichier de configuration, donc dans tous les cas si faille il y a, alors le contenu de ce fichier sera lisible, donc inutile de perdre du temps à le renommer ou le déplacer si ce n'est pour se faire plaisir et assurer une perte de compatibilité avec certains scripts !
Bon maintenant attaquons les choses sérieuses :)
Le fichier de configuration s'est enrichi sérieusement dans cette version 2008, en voici les points d'intérêt en détail ( je passe sur les 44 premières lignes du fichier - ce ne sont que des commentaires ):
Premièrement on sécurise l'accès au fichier
defined("MAXIMUS") OR Header("Location: ../index.php");
On contrôle si le fichier n'est pas déjà chargé
if ( defined('CONFIGPHP') ) {
return true;
}
On pose un marqueur permettant de s'assurer que le fichier a été chargé
define_once('CONFIGPHP', true);
A partir de là, on va configurer l'accès à la base de données
Ces paramètres vous sont livrés par votre hébergeur
variable $dbhost: traditionnellement localhost
$dbhost = 'localhost';
Variable $dbuname: nom d'utilisateur MySql
$dbuname = 'root';
Variable $dbname: nom de votre base de données
$dbname = 'maximus';
Variable $dbpass: mot de passe de connexion à votre base de données
$dbpass = 'db222222';
Variable $prefix: définit le préfixe de vos tables mysql
$prefix = 'max';
Variable $user_prefix: définit le préfixe des tables relatives aux utilisateurs ( devrait disparaitre à terme, ou du moins être modifié )
$user_prefix = 'max';
Variable $sitekey: mettez ici ce qui vous passe par la tête, cela représente une clef dite de sécurité
$sitekey = 'c4p-3bmrwper*80texk-dsr4gl1-eeyg8aexbray';
variable $admin_file: nom du fichier admin.php ( sans le .php )
$admin_file = 'admin';
Jusque là c'est comme avant, maintenant on attaque une seconde partie :
On transfère les données de connexion à la base de données de la forme variable à la forme définition pour des raisons de sécurité évidentes ( il est très dur de remonter un define, alors qu'une variable ... )
/** ne pas toucher sans documentation !! */
define_once('DBHOST', $dbhost);
define_once('DBUNAME', $dbuname);
define_once('DBNAME', $dbname);
define_once('DBPASS', $dbpass);
define_once('DBTYPE', 'MySQL');
Maintenant on tue les variables d'identification à la base de données, comme ça celui qui tentera des les obtenir n'aura rien ( ça lui apprendra :) ), de plus nous ne les utiliserons plus
/** kill des variables database */ $dbhost = $dbuname = $dbname = $dbpass = ;
Ici un paramètre intéressant placé sur true par défaut, il permettra d'afficher les erreurs de code depuis le pied de page de votre maximus, si vous désirez totalement désactiver cette fonction, passer cette définition à false, chose intéressante seuls les administrateurs verront les erreurs de code, les utilisateurs lambda ne seront pas touchés par cette définition
/** Configuration: Display errors */
define_once('DISPLAY_ERRORS', true);
Cette définition n'est à passer sur true qu'en cas d'urgence ( site en rideau complet, page blanche, impossible de faire quoi que ce soit, c'est une définition dites de dernier recours
/** Configuration: Force Display errors */
define_once('FORCE_DISPLAY_ERRORS', false);
Attention, ici c'est une définition importante encore qui permet de passer en mode développeur, en toute logique si vous ne développez pas un module - bloc - ou thème cette définition doit rester sur false
Cette définition a été ajoutée pour faciliter le travail des développeurs
/** Configuration: Mode Developper */
define_once('FORCE_MODE_DEVELOPPER', true);
Transfert de la variable $admin_file en définition ( utilisation partielle pour la version en cours ), trouvera toute son utilité dans le futur, mais j'ai pris le soin de la mettre en place ( à ne pas modifier !!! car elle est utilisée massivement )
/** Configuration: admin.php */
define_once('ADMIN_ACCESS', $admin_file);
Ici on défini le nom du dossier cache, en effet celui ci est renommable
/** Configuration du cache */
define_once('CACHE', 'cache');
Ici on détermine le préfix des fichiers cache, personnalisable aussi pour des raisons de sécurité
define_once('PREFIX_CACHE', 'perso');
Ici on détermine le nom du dossier dans lequel nous allons placer les sessions, à des fins de sécurité et surtout à des fins d'empêcher les vols de sessions, ce dossier est renommable ( dossier cache/sessions/ d'origine )
/** Configuration des sessions */
define_once('SESSIONS_PATH', 'sessions');
Ici nous déterminons le préfixe lié à l'url rewriting, vos urls seront du type GoogleTapSG_news_3.html ( modifier ce préfixe comme bon vous semble avec un ou deux mots clefs de votre choix
/** Configuration: GoogleTap SG */
define_once('GTv2_pref', 'GoogleTapSG');
Ici on ne touche pas, c'est un premier pas vers le remplacement des URLs ( sera beaucoup utilisé dans le futur à des fins de remplacement des urls traditionnelles modules.php?name=Module )
/** Configuration des URLs */
define_once('MAXURL', 'modules.php?name=');
Enfin cette dernière partie ( qui ne sert à quasiment plus rien, disparaitra à terme, puisque dans maximus on maitrise notre sécurité, nous n'aurons plus besoin de filtrer le code HTML tel que nous le faisions par le passé, ceci simplifiera beaucoup les choses et les administrateurs sont ainsi libre d'utiliser tout code HTML de leur choix, les temps évoluent maximus aussi :) )
// 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);
Cyril 10 mai 2008 à 23:17 (CEST)

