Tout d'abord, une rapide explication sur ce que réalise cette configuration
ini. Supposons que nous utilisons l'URL suivante :
http://example.com/foo.php?animal=cat
et, dans le fichier foo.php, nous avons le code PHP suivant :
<?php
// L'utilisation de $_GET est ici préférée
echo $_GET['animal'];
// Pour que $animal existe, register_globals doit être actif
// NE FAITE JAMAIS CELA !
echo $animal;
// Ceci s'applique à toutes les variables, y compris à $_SERVER
echo $_SERVER['PHP_SELF'];
// Encore une fois, pour que $PHP_SELF existe, register_globals doit être actif
// NE FAITE JAMAIS CELA !
echo $PHP_SELF;
?>
Le code ci-dessus démontre la façon dont register_globals crée un grand
nombre de variables. Durant des années, ce type de codage a été désapprouvé,
et donc, depuis des années, cette fonctionnalité a été désactivée par défaut.
Bien que la majorité des hébergeurs Web a désactivé cette fonctionnalité,
il y a toujours sur le web des articles, des tutoriels et des livres qui
demandent à ce que cette option de configuration soit activée.