From eecca6260ca4d6c50bd5914401ea597b32cb5170 Mon Sep 17 00:00:00 2001 From: Eriksen Costa Paixão Date: Mon, 4 May 2009 18:01:57 +0000 Subject: [PATCH] #13 by Eriksen: Corrigido reocorrência do bug de cadastro de IP vindo de proxy em outro ponto do código --- ieducar/intranet/include/clsBase.inc.php | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/ieducar/intranet/include/clsBase.inc.php b/ieducar/intranet/include/clsBase.inc.php index 10ef083..4d73d98 100755 --- a/ieducar/intranet/include/clsBase.inc.php +++ b/ieducar/intranet/include/clsBase.inc.php @@ -1,13 +1,13 @@ showExpansivelIframe(800, 270, 'troca_senha_pop.php', 1);"; - + } } } /***********************/ - - + + // somente para programadores // $this->prog_alert = "teste"; if( ( $id_usuario == 49659 || $id_usuario == 2151 || $id_usuario == 4637 || $id_usuario == 21330|| $id_usuario == 21317|| $id_usuario == 25109|| $id_usuario == 4702 ) ) @@ -547,16 +547,19 @@ class clsBase extends clsConfig $saida = str_replace("", $nome_user, $saida); $saida = str_replace("", $corpo, $saida); $saida = str_replace("", $menu_dinamico, $saida); - - - //verificação do ip da máquina - if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) - { - $ip_maquina = $_SERVER['HTTP_X_FORWARDED_FOR']; - } - else - $ip_maquina = $_SERVER['REMOTE_ADDR']; - + + + // Pega o endereço IP do host, primeiro com HTTP_X_FORWARDED_FOR (para pegar o IP real + // caso o host esteja atrás de um proxy) + if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') { + // No caso de múltiplos IPs, pega o último da lista + $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); + $ip_maquina = trim(array_pop($ip)); + } + else { + $ip_maquina = $_SERVER['REMOTE_ADDR']; + } + $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_usuario}"; $db2 = new clsBanco(); $db2->Consulta($sql); -- libgit2 0.21.2