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