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
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:
remplacez le par :
si vous trouvez ceci en début de fichier index.php du module: supprimez le:
autre chose importante, si vous trouvez ceci en début de fichier
remplacez le par:
même si tout cela est fonctionnel, il faut reconnaitre que nous utilisons de la puissance machine pour rien !
ensuite, remplacez:
par:
et
par
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
remplacez les avantageusement par la finction
maintenant ca c'est très important, filtrez les variables par exemple ceci est potentiellement dangeureux :
il est très fortement recommander de mettre plutot
Toute variable non encapsulée par un guillement simple et non passée en stripslashes ouvre des failles potentielles
autre chose supprimez tous les :
de fin de fichiers, cela est très souvent générateur de problêmes
autre conseil ceci n'est pas terrible :
mais plutot:
sans les parenthèses
le plus important est de surtout controler la filtration des variables par exemple
ne peut pas rester en l'état, il faut la filtrer correctement comme ceci:
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
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:
mais comme ceci:
observez bien le
de partout
autre détail on peut remplacer ceci:
par
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 ...