A.8 La sécurité sans variables globales

Les anciennes versions de Joomla! ainsi que Mambo se fondaient sur un paramètre PHP global
appelé register_globals = on. Il contrôle le degré de visibilité des variables globales, qui peuvent
permettre d’accéder de l’extérieur à vos programmes via un formulaire ou une chaîne Get.

Ce paramètre constituant un point faible au niveau sécurité, il est toujours préférable de désactiver
cette globalité par register_globals = off. Vous n’êtes pas prémuni contre tous les problèmes par
cette désactivation, mais elle n’a qu’un effet bénéfi que sur la sécurité du système.

Il était et il reste possible de profi ter aussi de ce réglage dans les anciennes versions de Mambo et de
Joomla!. D’ailleurs, depuis Joomla! 1.0.11 un message prévient clairement l’administrateur des
dangers de laisser cette variable dans l’état on.

Joomla! 1.5.x (comme depuis Joomla! 1.0.11) propose par défaut register_globals = off. Le
noyau de Joomla! peut ainsi fonctionner en sécurité et de façon plus stable.

Vous trouverez des conseils en matière de sécurité sur le site joomla.org. Il y a même une Checkliste
de sécurité de l’administrateur datant de Joomla! 1.0 et applicable à Joomla! 1.5.
C’est à vous de vérifier ensuite si toutes vos extensions fonctionnent après avoir activé cette option de sécurité. Certains extensions utilisent encore les variables globales, mais de nombreux clients ont pris en compte ce souci de sécurité depuis la version 1.0.11 (septembre 2006) et ses messages insistants. Les dernières extensions non compatibles vont donc se mettre en conformité rapidement.