Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: SpiderNet en 19 Septiembre 2008, 03:26 am



Título: Actualizar aplicacion PHP basada en PHP3, PHP4
Publicado por: 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!!!



Título: Re: Actualizar aplicacion PHP basada en PHP3, PHP4
Publicado por: дٳŦ٭ en 20 Septiembre 2008, 21:19 pm
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


Título: Re: Actualizar aplicacion PHP basada en PHP3, PHP4
Publicado por: 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!!!


Título: Re: Actualizar aplicacion PHP basada en PHP3, PHP4
Publicado por: SirLanceCC en 21 Septiembre 2008, 06:10 am
recorre el array $_GET o $_POST con foreach.

Código
  1. //recorrer
  2. foreach($_GET $nombre=>$valor){
  3.  $$nombre = $valor; //Guardar $valor en una variable
  4.  //Si $nombre vale hola se guardara en $hola
  5. }
  6.  

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.


Título: Re: Actualizar aplicacion PHP basada en PHP3, PHP4
Publicado por: дٳŦ٭ en 21 Septiembre 2008, 06:12 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
  1. <?php
  2.  
  3. // Unregister_globals: unsets all global variables set from a superglobal array
  4. // --------------------
  5. // This is useful if you don't know the configuration of PHP on the server the application
  6. // will be run
  7. // Place this in the first lines of all of your scripts
  8. // Don't forget that the register_global of $_SESSION is done after session_start() so after
  9. // each session_start() put a unregister_globals('_SESSION');
  10.  
  11. function unregister_globals()
  12. {
  13.    if (!ini_get('register_globals'))
  14.    {
  15.        return false;
  16.    }
  17.  
  18.    foreach (func_get_args() as $name)
  19.    {
  20.        foreach ($GLOBALS[$name] as $key=>$value)
  21.        {
  22.            if (isset($GLOBALS[$key]))
  23.                unset($GLOBALS[$key]);
  24.        }
  25.    }
  26. }
  27.  
  28. unregister_globals('_POST', '_GET', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES');
  29.  
  30. ?>
  31.  

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

Saludos