Ir para conteúdo
Fórum Script Brasil
  • 0

Sérios Problemas Com Register_globals


Guest Job

Pergunta

Estou com um problema quanto a definição da variável register_globals. Tentarei ser o mais específico quanto possível: Tenho um site em fase de implantação, hospedado no brturbo, que por motivos de segurança não oferece a possibilidade de se ter configurado no servidor a variável register_globals como "on", sendo seu valor "off" como default. Minha experiência é totalmente voltada na área de design gráfico (Corel Draw, 3D Studio, Photoshop), áreas nas quais atuo há mais de 10 anos. Estou iniciando no mundo da programação voltada para a internet especialmete em se falando de PHP. Infelizmente, por desconhecimento prévio, finalizei uma área de chat com múltiplas salas, envio de e-mail de dentro da própria sala, envio de mensagens direto do HD do usuário, com área de login para assinantes, etc e tal, tendo utilizado o formato de apresentação das variáveis como se o servidor permitisse a configuração register_globals="on". Como pude observar em vários fóruns, analisando problemas semelhantes que outros novatos como eu passaram, uma das opções seria alterar o formato de apresentação das variáveis, algo que estou tentando evitar. Me falaram de um script, o qual estou enviando ao final desta mensagem, que, se adicionado ao início do código PHP de cada página teria a finalidade de emular a condição register_globals="off", sem que no entanto, tivesse a necessidade de efetuar todas as mudanças manualmente, o que levaria dias, dada a extensão de todo o código e o grande número de páginas que o compõem. Ao observar o código em questão, pude verificar que o mesmo é destinado ao inverso do que necessito (pelo menos assim me pareceu), ou seja, emular a condição "on" em páginas que foram preparadas com a variável register_globals="off". Sinceramente tenho feito tudo na base da tentativa e do acerto, sem orientação de ninguém, mas com base em raciocínio lógico de programação obtido há tempos atrás, no tempo em que programava em COBOL e C... E bota tempo atrás nisso... rsrsrs... Se puderem dar uma olhada no código e me passar uma orientação ficaria muito grato, pois o que pretendo, caso seja possível de ser feito, é ter um pequeno script como este, que funcione ao contrário, permitindo que apenas eu o acrescente no início das páginas e não tenha a monumental mão-de-obra de corrigir tudo linha a linha. Antecipadamente agradeço a colaboração...

Um grande abraço e abaixo segue o script que falei...

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">

<html>

<head>

<title>Emula register_globals = on</title>

</head>

<body>

<?

function register_globals_on(){

if($_POST){

foreach($_POST as $var=>$valor){

global $$var;

$$var = $valor;

}

}

if($_GET){

foreach($_GET as $var=>$valor){

global $$var;

$$var = $valor;

}

}

}

register_globals_on();

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Posso resolver seu problema do register globals assim:

register_globals.php

<?
if (!isset($_GET)) { $_GET = &$HTTP_GET_VARS;} 
if (!isset($_POST)) { $_POST = &$HTTP_POST_VARS;}
if (!isset($_SESSION)) { $_SESSION = &$HTTP_SESSION_VARS;}
if (!isset($_SERVER)) { $_SERVER = &$HTTP_SERVER_VARS; }
if (!isset($_ENV)) { $_ENV = &$HTTP_ENV_VARS;}
if (!isset($_COOKIE)) { $_COOKIE = &$HTTP_COOKIE_VARS;}
if (!isset($_FILES)) { $_FILES = &$HTTP_POST_FILES;}
if (!isset($_REQUEST)) { $_REQUEST = &$_GET&$_POST&$_COOKIE&$_FILES;}
if (isset($_GET)) { extract($_GET); }
if (isset($_POST)) { extract($_POST); }
if (isset($_SESSION)) { extract($_SESSION); }
if (isset($_SERVER)) { extract($_SERVER); }
if (isset($_ENV)) { extract($_ENV); }
if (isset($_COOKIE)) { extract($_COOKIE); }
if (isset($_FILES)) { extract($_FILES); }
if (isset($_REQUEST)) { extract($_REQUEST); }
?>

Dê um include nesse arquivo em todas as páginas do seu sistema

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...