register_globals, simuler son activation

© Christian PAULUS. Document créé le 15 juin 2010 , mis à jour le 15 juin 2010.

Ce n'est pas le tout d'être une femme du monde. Encore faut-il savoir de quel monde il s'agit. Pierre Dac

Accueil du site > Astuces > PHP > register_globals, simuler son activation

Développer / PHP 5.3.2

Dans certains cas, il est nécessaire d’activer register_globals dans la configuration PHP.

Pour mémo, register_globals est banni depuis la version 4.1.0 de PHP.

Mais lors d’une migration, d’une mise à jour, etc.. il est parfois difficile de se passer de cette directive.

Plusieurs solutions :

  • forcer la directive via le fichier de configuration php.ini (déconseillé, car appliqué pour tous vos sites)
  • essayer de forcer la directive via le fichier .htaccess (dépend de la configuration apache, donc pas pratique, pas universel)
  • forcer les quelques variables globales dans votre script.

La dernière proposition ne manque pas d’intérêts. Le responsable du site prend ses responsabilités pour son site et peut désactiver cette fonctionnalité sans avoir besoin de mettre en péril les autres sites du serveur.

Voici un extrait de script à appeler pour toutes les pages :

<?php

if(isset($_GET)) $HTTP_GET_VARS $_GET;
if(isset(
$_POST)) $HTTP_POST_VARS $_POST;
if(isset(
$_FILES)) $HTTP_POST_FILES $_FILES;
if(isset(
$_COOKIE)) $HTTP_COOKIE_VARS=$_COOKIE;
if(isset(
$_SESSION)) $HTTP_SESSION_VARS=$_SESSION;
if(isset(
$_ENV)) $HTTP_ENV_VARS=$_ENV;
if(isset(
$_SERVER)) $HTTP_SERVER_VARS=$_SERVER;

?>

Une autre idée ?

Plussoyez !

Les forums sont fermés.