Foros del Web » Programando para Internet » PHP »

SOLUCION para emular el register_globals (en off o en on)

Estas en el tema de SOLUCION para emular el register_globals (en off o en on) en el foro de PHP en Foros del Web. Esto emula el comportamiento de register_globals On. Código PHP: <?php  // Emular register_globals on  if (! ini_get ( 'register_globals' )) {       $superglobales  = array( $_SERVER ,  $_ENV ,           $_FILES ...
  #1 (permalink)  
Antiguo 24/09/2007, 04:44
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Información SOLUCION para emular el register_globals (en off o en on)

Esto emula el comportamiento de register_globals On.


Código PHP:
<?php 
// Emular register_globals on 
if (!ini_get('register_globals')) { 
    
$superglobales = array($_SERVER$_ENV
        
$_FILES$_COOKIE$_POST$_GET); 
    if (isset(
$_SESSION)) { 
        
array_unshift($superglobales$_SESSION); 
    } 
    foreach (
$superglobales as $superglobal) { 
        
extract($superglobalEXTR_SKIP); 
    } 

?>
Esto emula register_globals Off

Código PHP:
<?php 
// Emular register_globals off 
function retirar_registros_GLOBALS() 

    if (!
ini_get('register_globals')) { 
        return; 
    } 

    
// Puede que desee cambiar esto por un error mas amigable 
    
if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) { 
        die(
'Se ha detectado un intento de sobreescritura en GLOBALS'); 
    } 

    
// Variables que no deben ser eliminadas 
    
$noEliminar = array('GLOBALS',  '_GET'
                        
'_POST',    '_COOKIE'
                        
'_REQUEST''_SERVER'
                        
'_ENV',     '_FILES'); 

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

    foreach (
$entrada as $c => $v) { 
        if (!
in_array($c$noEliminar) && isset($GLOBALS[$c])) { 
            unset(
$GLOBALS[$c]); 
        } 
    } 


retirar_registros_GLOBALS(); 

?>
este código debe ser llamado al comienzo absoluto de su script
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #2 (permalink)  
Antiguo 24/09/2007, 07:10
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: SOLUCION para emular el register_globals (en off o en on)

Deberia ir en las FAQ's de PHP

saludos
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:50.