PHP Maximus CMS.eu | Maximus Canada | Maximus Italie | BBtoMax
spacer
spacer search

Tout sur Maximus CMS
Version actuelle: Fuzion BS
  Fly Kernel Version 1.1.2

Search
spacer
header
Accueil
Mon compte
Copyrights
 
Retour à l'accueil des tutoriaux
Voici un Tutorial,
souhaitant vous apporter solution,
dans tous les cas n'hésitez pas à revenir,
ce module est en constante évolution ...
Vous pouvez vous aussi y participer


[ Retour ]
Accueil des Tutoriaux -> Lecture d'un Tutorial
Tutorial écrit par Cyril du 19-06-2006 à 09:23:28

Comment réaliser un portage d''un module PHPNuke vers Maximus
Temps prévisible pour l'installation: 2 heures
Facilité d'installation:  

Ce tuto a pour seule vocation d'offrir quelques détails importants permettant de réaliser un portage sans soucis d'un module phpnuke vers Maximus.

A savoir qu'un module respectant le code de phpnuke 7.5 et plus est automatiquement valide sous Maximus, le problême étant que nombres de modules soit disant valides 7.5 en fait ne le sont pas ( et ceci très souvent).
Certains développeur comme Bob Marion par exemple a toujours surveillé de près ses scripts, ce qui implique que les scripts NSN sont en général tous fonctionnels sous maximus

Maintenant prenons l'exemple du module NukeBlog, par lequel ce tuto a pu voir le jour :)


Voici ce que vous pouvez trouver en début de fichier:

Code:

if (!eregi("modules.php", $_SERVER['PHP_SELF'])) {
    die ("You can't access this file directly...");
}


remplacez le par :

Code:

defined('MAXIMUS') or Header("Location: ../../index.php");


si vous trouvez ceci en début de fichier index.php du module: supprimez le:
Code:

require_once("mainfile.php");


autre chose importante, si vous trouvez ceci en début de fichier

Code:

$module_name = basename(dirname(__FILE__));



remplacez le par:
Code:

$module_name = 'Nom du module';


même si tout cela est fonctionnel, il faut reconnaitre que nous utilisons de la puissance machine pour rien !


ensuite, remplacez:
Code:

include("header.php");


par:
Code:

incoh();


et

Code:

include("footer.php");


par

Code:

incof();


ATTENTION toutefois:
veillez à ne mettre aucun code après incof(); car après rien n'est executé, incof(); est terminé par un die(); tout code mis après incof() ne sera donc pas exécuté


vous trouvez des
Code:

echo "

";


remplacez les avantageusement par la finction
Code:
br('nombre de lignes à sauter)



maintenant ca c'est très important, filtrez les variables par exemple ceci est potentiellement dangeureux :
Code:

    $nb_user[user_id] = $row[user_id];


il est très fortement recommander de mettre plutot

Code:

    $nb_user['user_id'] = stripslashes($row['user_id']);


Toute variable non encapsulée par un guillement simple et non passée en stripslashes ouvre des failles potentielles


autre chose supprimez tous les :

Code:
?>


de fin de fichiers, cela est très souvent générateur de problêmes


autre conseil ceci n'est pas terrible :
Code:

        echo("n");


mais plutot:
Code:

        echo "n";


sans les parenthèses


le plus important est de surtout controler la filtration des variables par exemple


Code:

$row2[blog_id]



ne peut pas rester en l'état, il faut la filtrer correctement comme ceci:

Code:

$db->XMFnum($row2['blog_id'])



le filtre XMF et les guillements sont primordiaux


Pour rappel:

voici les filtres à utiliser essentiellement dans maximus ( le kernel se chargeant de filtrer tout code malicieux, ce minimum est tout de même à effectuer



Code:


$db->XMFbin($row['id']) pour les valeurs binaires 0 ou 1
$db->XMFnum($row['id']) pour les valeurs numériques de 0 à l'infini
stripslashes($title) pour les valeurs alphanumériques ( lettres et ou chiffres )




faire ceci est un minimim correct à faire

on peut aller plus loin encore, par exemple sécuriser ses requêtes sql non pas comme ceci:

Code:

$sql = "SELECT user_id, username FROM " . $user_prefix . "_users WHERE username='" . $temp_cookie[1] . "'";



mais comme ceci:
Code:

$sql = "SELECT `user_id`, `username` FROM `" . $user_prefix . "_users` WHERE `username`='" . $temp_cookie[1] . "'";


observez bien le

Code:

`


de partout


autre détail on peut remplacer ceci:

Code:

" . $user_prefix . "_users


par
Code:

".TABLE_USERS."



toutes les tables prédéfinies de maximus sont dans kernel/constants.php

ceci réduit les risques sur la table, diminue le besoin en ressources donc plus sécure et plus rapide car moins gorumand en ressources machine :)

Une fois ces règles minimalistes repectées votre module à pris forme, et en avant ...
[ Retour à l'index des tutoriaux | Poster un commentaire ]

Hebeh.com, hebergement professionnel de sites internet www.hebeh.com

Hicih.com, noms de domaine pour vos sites internet www.hicih.com

Pétition contre la loi pécresse www.psycholyon2contrelaloipecresse.com

 
Distroy Max_Howto Cache ~ Distroy Sessions ~ 
Retrouvez des informations similaires grâce aux moteurs de recherche suivants:
 google google.com yahoo msn aol altavista mozbot biglotron mirago exalead voila lycos seek ask france ask monde france evasion apocalx vigoos doona globly envolk metafrance mamma alltheweb
Reproduction interdite (partielle ou totale) sans autorisation écrite de notre part.
Copyrights Maximus CMS
Projet Maximus SourceForge
Google Groups Maximus
Maximus CMS est présent sur le Wikipedia Français
Maximus OsCommerce est présent sur le Wikipedia Français
Projet Open Source hébergé par www.hebeh.com

rss rss
Tous droits réservés. PHP-MaXiMuS est un logiciel libre en version GNU/GPL license.
Copyright 2005 - 2008 PHP-Maximus CMS.

[ Page générée en 0.1756 sec ] [ (PHP: 78% - SQL: 22%) ] [ Requêtes SQL: 14 ] [ 1959 pages vues la dernière heure ]
 Top Max Cache Off Copyright Mentions légales PHP Maximus CMS