Primeiramente, uma explicação sobre o que esta configuração faz. Vamos
dizer que a seguinte URL é utilizada:
http://example.com/foo.php?animal=cat
e no arquivo foo.php temos o seguinte
código PHP:
<?php
// É preferível utilizar $_GET aqui
echo $_GET['animal'];
// Para a variável $animal existir, register_globals deve ser on
// NÃO FAÇA ISSO
echo $animal;
// Isto é aplicado a todas as variáveis, inclusive a variável $_SERVER
echo $_SERVER['PHP_SELF'];
// Novamente, para a variável $PHP_SELF existir, register_globals deve ser on
// NÃO FAÇA ISSO
echo $PHP_SELF;
?>
O código acima demonstra como register_globals cria várias
variáveis. Durante anos, esta abordagem foi desencorajada e por
anos ela foi desabilitada por padrão. Embora a maioria das empresas de hospedagem web tenham
desabilitado register_globals, existem ainda artigos, tutoriais e
livros desatualizados que exigem que ela esteja habilitada.