Actualizar aplicacion PHP basada en PHP3, PHP4

Iniciado por SpiderNet, 19 Septiembre 2008, 03:26 AM

0 Miembros y 1 Visitante están viendo este tema.

SpiderNet

Encontre en la red una aplicación vieja pero muy buena programado bajo PHP4, que usa el register_global=ON.

Como norma de seguridad a partir de PHP4.2.0 viene activada en OFF por defecto y se recomienda dejarla asi.

Ademas la mayoria de las empresas que dan servicio de hosting tienen desactivada el register_global y por lo tanto no va a funcionar.

Que debo hacer, agregar, eliminar o modificar en mis scripts para actualizarlo y que si funcione con la opcion register?global desactivada?


Saludos!!!

Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

дٳŦ٭

Cita de: SpiderNet en 19 Septiembre 2008, 03:26 AM
Encontre en la red una aplicación vieja pero muy buena programado bajo PHP4, que usa el register_global=ON.

Como norma de seguridad a partir de PHP4.2.0 viene activada en OFF por defecto y se recomienda dejarla asi.

Ademas la mayoria de las empresas que dan servicio de hosting tienen desactivada el register_global y por lo tanto no va a funcionar.

Que debo hacer, agregar, eliminar o modificar en mis scripts para actualizarlo y que si funcione con la opcion register?global desactivada?


Saludos!!!



Así es, tienes que declarar las variables.

Saludos


Con sangre andaluza :)


SpiderNet

pero... creo que no debería irme codigo por codigo....

Hay un metodo rápido con pocas instrucciones para darle solución rápida?


Saludos!!!
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

SirLanceCC

recorre el array $_GET o $_POST con foreach.

Código (php) [Seleccionar]

//recorrer
foreach($_GET $nombre=>$valor){
  $$nombre = $valor; //Guardar $valor en una variable
  //Si $nombre vale hola se guardara en $hola
}


No estoy del todo seguro si así era pero la idea iba por ahi. Tambien creo esta la función set() para definir variables. De paso en ese ciclo puedes aprovechar a limpar variables y eso.

Espero te ayude.

дٳŦ٭

Cita de: SpiderNet en 21 Septiembre 2008, 01:01 AM
pero... creo que no debería irme codigo por codigo....

Hay un metodo rápido con pocas instrucciones para darle solución rápida?


Saludos!!!

Código (php) [Seleccionar]
<?php

// Unregister_globals: unsets all global variables set from a superglobal array
// --------------------
// This is useful if you don't know the configuration of PHP on the server the application
// will be run
// Place this in the first lines of all of your scripts
// Don't forget that the register_global of $_SESSION is done after session_start() so after
// each session_start() put a unregister_globals('_SESSION');

function unregister_globals()
{
    if (!
ini_get('register_globals'))
    {
        return 
false;
    }

    foreach (
func_get_args() as $name)
    {
        foreach (
$GLOBALS[$name] as $key=>$value)
        {
            if (isset(
$GLOBALS[$key]))
                unset(
$GLOBALS[$key]);
        }
    }
}

unregister_globals('_POST''_GET''_COOKIE''_REQUEST''_SERVER''_ENV''_FILES');

?>



Ponlo en algún archivo que está incluido en todos los archivos.

Saludos


Con sangre andaluza :)