"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como obter o endereço IP real do visitante quando proxies estão em uso?

Como obter o endereço IP real do visitante quando proxies estão em uso?

Publicado em 2024-11-09
Navegar:588

How to Get the Real Visitor IP Address When Proxies Are in Use?

Recuperando o endereço IP real do visitante apesar do uso de proxy

O código PHP comumente usado para obter o endereço IP de um visitante é:

No entanto, este método não consegue capturar o IP verdadeiro quando os proxies estão em jogo. Buscando uma solução para esse problema, vamos nos aprofundar em uma abordagem alternativa.

Função PHP personalizada para determinação de IP

O código PHP fornecido oferece uma solução abrangente, considerando conexões CloudFlare e vários outros fatores:

function getUserIP()
{
    // Handle CloudFlare connections
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
          $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
          $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }

    return $ip;
}
$user_ip = getUserIP();

Este código atribui o endereço IP à variável $user_ip, que pode então ser utilizada conforme necessário em seu script PHP.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3