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 | 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); | ... | ... |