Commit eecca6260ca4d6c50bd5914401ea597b32cb5170

Authored by Eriksen Costa Paixão
1 parent cb855e5c
Exists in master

#13 by Eriksen: Corrigido reocorrência do bug de cadastro de IP vindo de proxy e…

…m outro ponto do código

Showing 1 changed file with 20 additions and 17 deletions   Show diff stats
ieducar/intranet/include/clsBase.inc.php
1 <?php 1 <?php
2 /** 2 /**
3 * 3 *
4 - * @version SVN: $Id$  
5 * @author Prefeitura Municipal de Itajaí 4 * @author Prefeitura Municipal de Itajaí
6 - * @updated 29/03/2007 5 + * @version $Id$
  6 + *
7 * Pacote: i-PLB Software Público Livre e Brasileiro 7 * Pacote: i-PLB Software Público Livre e Brasileiro
8 * 8 *
9 - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí  
10 - * ctima@itajai.sc.gov.br 9 + * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí
  10 + * ctima@itajai.sc.gov.br
11 * 11 *
12 * Este programa é software livre, você pode redistribuí-lo e/ou 12 * Este programa é software livre, você pode redistribuí-lo e/ou
13 * modificá-lo sob os termos da Licença Pública Geral GNU, conforme 13 * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
@@ -498,13 +498,13 @@ class clsBase extends clsConfig @@ -498,13 +498,13 @@ class clsBase extends clsConfig
498 $days_left = $tempo_senha - (int)((time() - strtotime( $data_senha )) / 86400); 498 $days_left = $tempo_senha - (int)((time() - strtotime( $data_senha )) / 86400);
499 $mensagem_expirar = "Sua senha expirará em $days_left dias, atualize sua senha em 'Meus dados' no menu 'Principal' !"; 499 $mensagem_expirar = "Sua senha expirará em $days_left dias, atualize sua senha em 'Meus dados' no menu 'Principal' !";
500 $mensagem_expirar .= "<script>showExpansivelIframe(800, 270, 'troca_senha_pop.php', 1);</script>"; 500 $mensagem_expirar .= "<script>showExpansivelIframe(800, 270, 'troca_senha_pop.php', 1);</script>";
501 - 501 +
502 } 502 }
503 } 503 }
504 } 504 }
505 /***********************/ 505 /***********************/
506 -  
507 - 506 +
  507 +
508 // somente para programadores 508 // somente para programadores
509 // $this->prog_alert = "teste"; 509 // $this->prog_alert = "teste";
510 if( ( $id_usuario == 49659 || $id_usuario == 2151 || $id_usuario == 4637 || $id_usuario == 21330|| $id_usuario == 21317|| $id_usuario == 25109|| $id_usuario == 4702 ) ) 510 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 @@ -547,16 +547,19 @@ class clsBase extends clsConfig
547 $saida = str_replace("<!-- #&USERLOGADO&# -->", $nome_user, $saida); 547 $saida = str_replace("<!-- #&USERLOGADO&# -->", $nome_user, $saida);
548 $saida = str_replace("<!-- #&CORPO&# -->", $corpo, $saida); 548 $saida = str_replace("<!-- #&CORPO&# -->", $corpo, $saida);
549 $saida = str_replace("<!-- #&ANUNCIO&# -->", $menu_dinamico, $saida); 549 $saida = str_replace("<!-- #&ANUNCIO&# -->", $menu_dinamico, $saida);
550 -  
551 -  
552 - //verificação do ip da máquina  
553 - if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )  
554 - {  
555 - $ip_maquina = $_SERVER['HTTP_X_FORWARDED_FOR'];  
556 - }  
557 - else  
558 - $ip_maquina = $_SERVER['REMOTE_ADDR'];  
559 - 550 +
  551 +
  552 + // Pega o endereço IP do host, primeiro com HTTP_X_FORWARDED_FOR (para pegar o IP real
  553 + // caso o host esteja atrás de um proxy)
  554 + if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') {
  555 + // No caso de múltiplos IPs, pega o último da lista
  556 + $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
  557 + $ip_maquina = trim(array_pop($ip));
  558 + }
  559 + else {
  560 + $ip_maquina = $_SERVER['REMOTE_ADDR'];
  561 + }
  562 +
560 $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_usuario}"; 563 $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_usuario}";
561 $db2 = new clsBanco(); 564 $db2 = new clsBanco();
562 $db2->Consulta($sql); 565 $db2->Consulta($sql);