Jump to content
richard nicson

Problema para pegar Ip do Usuário

Recommended Posts

Boa noite,recentemente contratei um cloud para meu sistema na Empresa Cloud Ways porém possuo um código na parte de cadastro,que pega o ip do usuário que deseja se cadastrar e insere no banco de dados o IP.

Eu usava o REMOTE_ADDR e funcionava perfeitamente na antiga empresa de hospedagem.

Mas no cloud ele insere o ip 127.0.0.1 no lugar,tentei inserir o código para Cloud Flare achando que fosse isso,mas começou a não inserir mais nada.

 

Alguém poderia me auxiliar?

 

Agradeço desde já.

Share this post


Link to post
Share on other sites
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

obtido em:

https://stackoverflow.com/questions/15699101/get-the-client-ip-address-using-php

Share this post


Link to post
Share on other sites
8 horas atrás, quimera disse:

function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

obtido em:

https://stackoverflow.com/questions/15699101/get-the-client-ip-address-using-php

Bom dia Quimera,muito obrigado esse código funcionou porém ele está inserindo dessa forma: "IPCORRETO, 127.0.0.1"

 

Onde deveria ser apenas "ipcorreto".

Share this post


Link to post
Share on other sites
Em 01/09/2017 at 07:52, gabrieldarezzo disse:

Contata o suporte dos caras, quem sabe não é um problema comum/conhecido.

 

Muito obrigado por sua resposta,entrei em contato com o suporte deles e me auxiliaram a trocar a $ip para:

 

$ip = $_SERVER['HTTP_X_REAL_IP'];

 

E isso funcionou normalmente.

 

Obrigado a todos por tentarem ajudar.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Felipe_N22
      Gostaria de saber como faço para habilitar os serviços do tomcat para eu conseguir obter acesso via ip. O tomcat disponibiliza três opções, sendo elas server status, manager app e host manager. Eu consigo ter acesso a essas configurações somente via localhost:8080, mas quando eu tento através do meu ip x.x.x.x:8080 ele mostra que os serviços não estão disponíveis.
       
      Segue simulação, eu tentei acessar o menu "Server Status".
       
      Através do localhost:
       

       
      Através do IP:
       

       
       
       
    • By MAKAVELIQUE
      Imagine a seguinte situação, coloco no meu site um link assim:  www.getip.com?busca_IP=201.76.1.238,  alguém conhece algum site que eu possa passar o valor do ip via get?
    • By Rodrigo Vieira E da Silva
      Olá a todos do fórum Imasters, tudo bem?
      Minha dúvida é a seguinte:
      Eu tenho alguns páginas que desejo restringir o acesso e quero que somente os assinantes e o administrador possam ver essas páginas.
      Gostaria de fazer isso via código sem a necessidade de ter plugins em meu projeto. Alguém já fez isso ou conhece alguém que possa me ajudar.
      Fico no aguardo de um feedback, referente ao assunto acima.
    • By Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • By waguinho
      Estou fazendo um site que terá acesso de muitos usuários simultaneamente, terão trocas de itens, sorteios onde cada um pode usar a quantidade de tickets que quiser. Minha dúvida é a seguinte,
      existe um array global que pode ser compartilhado simultaneamente por quem está logado no site? Ou cada um no seu session e joga tudo pro bando de dados e depois trabalha com os dados?
      Alguma solução alternativa? JS java etc.. Obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.