Accès au manager - réservé aux membres

Navigation
Livre PHP

Bouts de Codes PHP

Forcer le passage des globals de OFF à ON avec l'émulation

Informations sur le code source PHP

Ecrit par :  Iron
Autres codes en PHP de l'auteur : [7] sources Voir
Date d'enregistrement du code le 08 Nov 2006 - Vu 2360 fois
Code source zippé: Télécharger le fichier ZIP
Impression: Imprimer le code
Ajouter la page à vos favoris

Description du code source

Informations sur le code source

Si votre hébergeur ne vous permet pas de mettre la directive register_globals à ON, vous pouvez forcer la récupération des variables avec l'émulation. Vous pouvez émuler les variables suivantes : ($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET, $_SESSION)

Code Source



.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
.37
.38
.39
.40
.41
.42
.43
.44
.45
.46
.47
.48
.49
.50
.51
.52
.53
.54
.55
.56
.57
.58
.59
.60
.61
.62
.63
.64
.65
.66
.67
.68
.69
.70
.71
.72
.73
.74
 

<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Forcer le passage des globals de OFF à ON avec...         */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts184-PHP.htm              */
/* Auteur         : Iron                                                      */
/* Date édition   : 08 Nov 2006                                               */
/*                                                                            */
/******************************************************************************/
?>
Ce code émulera la directive register_globals à On.

<?php
// Émulation de register_globals à on
if (!ini_get('register_globals')) {
   $superglobals = array($_SERVER$_ENV,
       $_FILES$_COOKIE$_POST$_GET);
   if (isset($_SESSION)) {
       array_unshift($superglobals$_SESSION);
   }
   foreach ($superglobals as $superglobal) {
       extract($superglobalEXTR_SKIP);
   }
}
?>  

Ce code émulera la directive register_globals à Off.

<?php
// Émulation de register_globals à off
function unregister_GLOBALS()
{
   if (!ini_get('register_globals')) {
       return;
   }


   if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
   die('Tentative d\'effacement des GLOBALS détectée');
   }

   // Les variables
   $noUnset = array('GLOBALS',  '_GET',
   '_POST',    '_COOKIE',
   '_REQUEST''_SERVER',
   '_ENV',    '_FILES');

   $input array_merge($_GET,    $_POST,
   $_COOKIE$_SERVER,
   $_ENV,    $_FILES,
   isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

   foreach ($input as $k => $v) {
       if (!in_array($k$noUnset) && isset($GLOBALS[$k])) {
           unset($GLOBALS[$k]);
       }
   }
}

unregister_GLOBALS();

?>  

Fonctions du code source

Fonctions php / mysql PHP

  • ini_get : Lit la valeur d'une option de configuration - (PHP 4, PHP 5)
  • array : Crée un tableau - (PHP 4, PHP 5)
  • isset : Détermine si une variable est affectée - (PHP 4, PHP 5)
  • array_unshift : Empile un ou plusieurs éléments au début d'un tableau - (PHP 4, PHP 5)
  • extract : Importe les variables dans la table des symboles - (PHP 4, PHP 5)
  • die : Alias de la fonction exit() - (PHP 4, PHP 5)
  • array_merge : Fusionne un ou plusieurs tableaux - (PHP 4, PHP 5)
  • is_array : Détermine si une variable est un tableau - (PHP 4, PHP 5)
  • in_array : Indique si une valeur appartient à un tableau - (PHP 4, PHP 5)
  • unset : Détruit une variable - (PHP 4, PHP 5)

Poster un commentaire

:P :) :wink: :lol: :surprised: :confused: :mad: :no:
Taille du texte:
Couleur:
Code de sécurité

Les dernières offres d'emploi