ERROR: register_globals is disabled, ¿soluciones?

Publicado en Recursos SEO a las 20:43 by admin

Hoy me encontré con un pequeño percance al configurar un oscommerce de un servidor PHP versión 4.4.9 al nuevo con versión 5.2.6.

Al terminar de subir todos los archivos, bases de datos y configurar variables, el servidor me presenta este mensaje: «FATAL ERROR: register_globals is disabled in php.ini»

La configuración del primer servidor permitía el registro de las variables globales y en el nuevo, por motivos de seguridad, están desactivadas. Se trata de mi servidor DELL PowerEdge SC 1435 y, como es lógico, no iba a trastear con los proyectos web que ya tengo alojados.

Este registro se denomina “register_globals” y para la seguridad de cualquier servidor como para los sitio web, es importante que estas se encuentren siempre deshabilitadas “OFF”, pero en este caso me hacía falta activarlas para realizar algunas pruebas y, por supuesto, no iba a modificar el archivo php.ini ya que no sólo afectaría al sitio sino también a todas las páginas que se encontraban alojadas.

¿Cómo puedo saber qué versión PHP utiliza mi servidor?.

Es muy sencillo, tan solo deben subir un archivo que podríamos llamarle “phpinfo.php” con el siguiente código:

<?php
Phpinfo();
?>

¿Y el register_globals?

Cuando abras el archivo desde tu explorador: http://www.dominio.com/phpinfo.php veras una tabla con todas las características y módulos que tienes habilitados. Entre todos estos datos busca el cuadro “Configuration” o simplemente “register_globals”.

Esta tabla está compuesta por dos columnas “Local Value” y “Master Value”, la primera se configura a través del php.ini del servidor “Apache” mientras que la segunda puedes hacerlo desde “httpd.conf” de tu sitio/dominio.

Otra forma de comprobarlo:

Es con el siguiente código:

<?php
echo «register_globals: «. ini_get(‘register_globals’) .»<br />\n»;
echo «teststring: «.$teststring.»<br />\n»;
echo «\$_GET[‘teststring’]: «.$_GET[‘teststring’].»<br />\n»;
?>

Cuando “register_globals” se encuentra activo “ON”, verías:

register_globals: 1
teststring: testme
$_GET[‘teststring’]: testme

Cuando “register_globals” se encuentra inactivo “OFF”, verías:

register_globals:
teststring:
$_GET[‘teststring’]: testme

Solución

No muchos tenemos acceso a nuestro servidor para realizar las modificaciones que se nos antojen, sobretodo cuando se refiere a los archivos de configuración.

Para ello, una forma fácil -pero recomiendo que solo la uses en caso de pruebas, es incluir en tu archivo .htaccess la siguiente línea:

php_value register_globals «on»

RSS feed de comentarios sobre este informe · TrackBack URL

¿Tú, qué opinas? Haz llegar tus comentarios.

You must be logged in para la libertad de expresión.


Síguenos en
Google+

Author: Jordi Camps
Aviso Legal - Política de cookies