Alerta para uso de variáveis globais no PHP
Dica publicada em PHP / Segurança
Alerta para uso de variáveis globais no PHP
Estava lendo sobre segurança em um email de um grupo de
desenvolvimento de software e muitos alertavam sobre o
perigo do uso de variáveis GET.
O que acontece é que se não for tratada de forma correta, as variáveis GET podem ser facilmente mascaradas por algum usuário mal-intencionado.
Então aqui vai a dica, quem tem o PHP com versão menor que 4.2.0, passe a diretiva register_globals = Off, assim o PHP não criará variáveis automaticamente, pois isso pode ser tornar um veneno ao seu site.
Trecho da documentação do PHP a respeito das variáveis globais:
"Quando on, register_globals injetará (veneno) em seus scripts todos os tipos de variáveis, como variáveis request de formulários HTML. Isto junta-se com o fato de o PHP não exigir inicialização de variáveis e significa que escrever códigos inseguros é muito mais fácil. Não foi uma decisão difícil, mas a comunidade PHP decidiu, por definição, desabilitar esta diretiva. Quando on, as pessoas usavam variáveis ainda sem saber realmente, com certeza, de onde elas vinham e podiam apenas supor. Variáveis internas que estão definidas no próprio script conseguem se misturar com dados requisitados enviados pelos usuários e desabilitando register_globals muda isto".
Bom, ainda uma dica melhor, atualizem seu PHP, tanto no Windows quanto no Linux, este é um processo relativamente fácil e de grande valia.
O que acontece é que se não for tratada de forma correta, as variáveis GET podem ser facilmente mascaradas por algum usuário mal-intencionado.
Então aqui vai a dica, quem tem o PHP com versão menor que 4.2.0, passe a diretiva register_globals = Off, assim o PHP não criará variáveis automaticamente, pois isso pode ser tornar um veneno ao seu site.
Trecho da documentação do PHP a respeito das variáveis globais:
"Quando on, register_globals injetará (veneno) em seus scripts todos os tipos de variáveis, como variáveis request de formulários HTML. Isto junta-se com o fato de o PHP não exigir inicialização de variáveis e significa que escrever códigos inseguros é muito mais fácil. Não foi uma decisão difícil, mas a comunidade PHP decidiu, por definição, desabilitar esta diretiva. Quando on, as pessoas usavam variáveis ainda sem saber realmente, com certeza, de onde elas vinham e podiam apenas supor. Variáveis internas que estão definidas no próprio script conseguem se misturar com dados requisitados enviados pelos usuários e desabilitando register_globals muda isto".
Bom, ainda uma dica melhor, atualizem seu PHP, tanto no Windows quanto no Linux, este é um processo relativamente fácil e de grande valia.
$acao
$acao
E tem uns que melhora mais ainda o caso:
$_REQUEST["acao"]
rs.
Qual é POST ?!?!, Qual é GET afhhhh, na "minha opinião" alêm de ser porco por naum saber de onde vem certas ações, usar assim e uma tremenda falha de segurança.
--
Abs
guinet gmail com