Accueil > Boîtes à outils > Table rase > register_globals

Attention, cet article est obsolète. Il contient des informations qui ne sont plus à jour, comme tous les articles de la rubrique "Table rase".

register_globals

Depuis Ouvaton3, la variable register_globals de PHP est à off. Cela signifie que vous devez obligatoirement passer par les tableaux associatifs $_GET, $_POST etc ... pour récupérer les variables envoyées par le navigateur de vos visiteurs. C’est plus sécurisé.

Voici les explications de Christian Domec :

L’histoire du « register_globals » à « off » par défaut n’est pas là pour enquiquiner tout le monde, mais c’est un premier pas pour contrôler un peu d’où les variables viennent et comment elles sont traitées (ça incite à sécuriser des sites d’éventuelles attaques externes ou plus simplement d’erreur de codage).

Quand le « register_globals » est à « on », si l’url d’appel est : .../traitement.php?var=oui, dans le script traitement.php on pourra mettre tout simplement (en français) : « si la variable "var" = "oui", on fait le traitement (quelque soit l’endroit d’où vient la variable) ».

Quand le « register_globals » est à « off », dans le script traitement.php il faudra spécifier d’où vient le contenu de la variable $var. Cela donnera en français : « si le contenu de "var" est obtenu (GET) par l’url et qu’il est égal à "oui", alors on fait le traitement ».

Et en php, la variable écrite $var ne sera reconnue qu’en la réceptionnant par un truc du style :

$localvar=$_GET["var"];

Avec les variables transmises par la méthode "post", la déclaration est similaire :

$localvar=$_POST["var"];

Cela renforce très fortement la sécurité de vos scripts en empêchant vos visiteurs de définir les variables qu’ils veulent en ainsi injecter des variables dans vos scripts.

Une bonne source : http://fr.php.net/manual/fr/tutoria....


Si vous avez vraiment besoin d’avoir la commande register_globals à « on » parce que vous avez la flemme de remplacer vos $truc par $_GET[’truc’] et que vous vous fichez de la sécurité de votre site, vous pouvez toujours rajouter la ligne suivante dans votre fichier .htaccess :

AddType application/x-suexec-php5-glo-on .php

Dans les prochaines versions de PHP, cette possibilité sera certainement supprimée. On vous aura prévenus.