Thursday, 11 de December de 2003
O PHP é uma linguagem bastante dinâmica, flexível e criativa.
Uma de suas grandes façanhas é o envio de dados pelo navegador, declarando como variável global todo o conteúdo repassado por QUERY_STRING (GET) ou por POST, deixando alguns inconvenientes em se tratando de segurança oferecida ao seu script.
Algumas vezes utilizamos variáveis temporárias em laços (while, for, do ..while) e condições (if..elseif..else) em que na maioria das vezes são deixadas em branco e, imaginem só, podemos modificá-las ao repassar conteúdo pela QUERY_STRING, modificando, assim, todo o desenrolar do nosso script.
Como exemplo, imaginem só:
= 10)
$a = 1;
echo “Olá $b
”;
}
?>
Podemos observar que foram utilizadas duas variáveis, $a e $b, sendo a primeira para controle do laço e a segunda para a saída do laço, alterando o valor de $a.
O nosso erro erro esta no seguinte: se repassarmos em nosso script os seguintes valores: script.php?a=123 e script.php?b=4.
No primeiro o laço não seria executado pois a variável $a não estaria mais limpa. Já no segundo, o laço seria executado menos vezes, não exibindo os dados desejados pelo programador.
Para contornar esse problema poderíamos setar dados para as variáveis, como em:
Ou destruí-los, como em:
Uma outra maneira e bem mais segura e aconselhada (porém o mais incomodo) de se trabalhar com variáveis seria deixar como off o campo register_globals do seu php.ini (tanto para Windows como para Linux), pois assim você teria um maior controle em cima das variáveis, escolhendo quais realmente seriam necesárias ao seu script, utilizando, para isso, $HTTP_*_VARS[ nome ] para receber suas variáveis.
Para o envio de dados por GET temos:
Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o
login