Olá! Thursday, 28 de March de 2024.



Dicas CódigoFonte.net
Thursday, 11 de December de 2003

Variáveis em PHP e seus cuidados

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:


Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010