register_globals e $_REQUEST
Dica publicada em PHP / Miscelânea
register_globals e $_REQUEST
Os formulários HTML são a principal forma de comunicação
entre o cliente e uma aplicação PHP.
Em versões do PHP anteriores a 4.2.0, a diretiva register_globals tinha como valor padrão estar ativada, o que, por questões de segurança, não acontece nas versões atuais.
Isto permitia um tratamento único para as variáveis enviadas por formulário.
Quando submetido o seguinte formulário:
Em versões do PHP anteriores a 4.2.0, a diretiva register_globals tinha como valor padrão estar ativada, o que, por questões de segurança, não acontece nas versões atuais.
Isto permitia um tratamento único para as variáveis enviadas por formulário.
Quando submetido o seguinte formulário:
<form name='formulario' action='index.php'>
<input type='text' name='nome' value='TESTE>
<input type='submit' value='Enviar'>
</form>
<input type='text' name='nome' value='TESTE>
<input type='submit' value='Enviar'>
</form>
Teríamos criada uma nova variável $nome com o valor TESTE.
Hoje, como sintaxe alternativa, teríamos o índice "nome" na matriz $_GET:
$GET["nome"] == "TESTE"
Ainda assim deveríamos estar atentos com o método do formulário, que quando é omitido, tem como padrão o tipo GET.
Para diminuir este impacto, temos a matriz $_REQUEST que engloba as matrizes $_GET, $_POST, $_FILES, $_COOKIE e outras.
Mais informações no manual do PHP: