Commit eecca6260ca4d6c50bd5914401ea597b32cb5170
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); |