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 1 <?php
2 2 /**
3 3 *
4   - * @version SVN: $Id$
5 4 * @author Prefeitura Municipal de Itajaí
6   - * @updated 29/03/2007
  5 + * @version $Id$
  6 + *
7 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 12 * Este programa é software livre, você pode redistribuí-lo e/ou
13 13 * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
... ... @@ -498,13 +498,13 @@ class clsBase extends clsConfig
498 498 $days_left = $tempo_senha - (int)((time() - strtotime( $data_senha )) / 86400);
499 499 $mensagem_expirar = "Sua senha expirará em $days_left dias, atualize sua senha em 'Meus dados' no menu 'Principal' !";
500 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 508 // somente para programadores
509 509 // $this->prog_alert = "teste";
510 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 547 $saida = str_replace("<!-- #&USERLOGADO&# -->", $nome_user, $saida);
548 548 $saida = str_replace("<!-- #&CORPO&# -->", $corpo, $saida);
549 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 563 $sql = "UPDATE funcionario SET ip_logado = '$ip_maquina' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_usuario}";
561 564 $db2 = new clsBanco();
562 565 $db2->Consulta($sql);
... ...