A diretiva register_globals há muito tempo é condenada pelos desenvolvedores mais experientes por possibilitar uma falha de segurança. Com essa configuração ativada, todas as variáveis contidas em $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER são automaticamente convertidas em variáveis do PHP.
Por exemplo ao acessar http://localhost/arquivo.php?variavel=teste, se o servidor estiver configurado com register_globals = On, no script arquivo.php, haverá uma variável chamada $variavel, que terá o valor 'teste'. Isso pode ser uma falha de segurança pois um atacante pode infiltrar códigos maliciosos em variáveis que não deveriam vir das fontes carregadas pelo register_globals.
Para piorar, no PHP 6 essa configuração não irá mais existir. Ou seja, se você utiliza register_globals em seu código, certamente terá que fazer alterações ao atualizar a versão.
Sabemos que no PHP algumas diretivas definidas no php.ini podem ser alteradas em tempo de execução através da função ini_set().
Porém a diretiva register_globals não pode ser desabilitada em tempo de execução.
Portanto há 2 maneiras de desabilitar essa configuração
1 - Alterar o php.ini, alterando a diretiva register_globals para Off
2 - Criando um arquivo .htaccess no servidor alterando essa configuração para Off
Porém, como nem tudo são flores, há situações na qual não temos acesso a essas configurações do servidor. Para essas situações há uma maneira simples de garantir que as variáveis passadas por $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER não serão transformadas em variáveis PHP.
No início do programa adicione as seguintes linhas:
foreach ($_ENV as $key => $value)
unset($$key);
foreach ($_GET as $key => $value)
unset($$key);
foreach ($_POST as $key => $value)
unset($$key);
foreach ($_COOKIE as $key => $value)
unset($$key);
foreach ($_SERVER as $key => $value)
unset($$key);
Fazendo isso você, antes de iniciar o desenvolvimento, está limpando as variáveis carregadas automaticamente.
Desta forma o desenvolvedor fica impossibilitado de utilizar as "vantagens" de register_globals e garante que o código será compatível com a nova versão do PHP.
Obs.: As variáveis ainda poderão ser acessadas normalmente pelos arrays superglobais do PHP $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER
Obs.: Lembrando que essa técnica nada mais é que um Recurso Técnico Improvisado(Workaround, Gambiarra, Quebra-Galho...), mas que funciona!
Mostrando postagens com marcador manuais. Mostrar todas as postagens
Mostrando postagens com marcador manuais. Mostrar todas as postagens
22 fevereiro 2010
07 janeiro 2009
Apache, PHP e MySQL no IPhone
Com essa possibilidade, fica aberta uma grande gama de possibilidades de desenvolvimento de softwares para o aparelho.
Quando o preço do IPhone no Brasil for viável, a tendência é a popularização, por isso os aplicativos podem ser uma grande possibilidade de bons negócios.
Agora só me falta coragem para desembolsar R$2.000,00 por um celular ou então descobrir como instalar PHP no A1200, o IPhone de pobre(Se alguém souber como me avisa!).
Obs.: Clique aqui para ver um tutorial de como proceder com a instalação.
05 janeiro 2009
Mini-manual do PHP em uma página
Eu já vi alguns pequenos livros de referência sobre PHP e alguns manuais de bolso. Porém nenhum chega perto desse. Um míni-manual de referência com as principais funções da linguagem com suas respectivas sintaxes, tipo de variável de retorno, tipo de variável dos parâmetros, etc.
O melhor, tudo isso em apenas uma página. Eu já imprimi o meu numa folha A5 e vou colar na mesa do trabalho!

Fonte: Blog Emezeta
O melhor, tudo isso em apenas uma página. Eu já imprimi o meu numa folha A5 e vou colar na mesa do trabalho!

Fonte: Blog Emezeta
Assinar:
Postagens (Atom)