(obs. não fui eu que fiz apenas pesquisei na net e estou compartilhando para vcs tbm.)
?
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;
?>
No entanto essa solução não é totalmente precisa, pois se o usuário estiver em uma conexão utilizando servidor proxy, então o IP que você obterá será o do servidor proxy e não o endereço IP real do usuário. Felizmente podemos fazer um refinamento adicional para obter resultados mais precisos. Os servidores proxy trazem no cabeçalho HTTP uma propriedade que armazena o IP original. O nome deste campo é X-Forwarded-For ou Client-Ip. Se um destes campos estiver presente no cabeçalho HTTP, entãovocê pode ler os seus valores através do array $_SERVER como no primeiro exemplo. Você precisa então checar todas estas 3 possibilidades abaixo:
?
echo "Remote addr: " .$_SERVER['REMOTE_ADDR'] . "
";
echo "X Forward: " . $_SERVER['HTTP_X_FORWARDED_FOR'] . "
";
echo "Clien IP: " . $_SERVER['HTTP_CLIENT_IP'] . "
";
?>
Usando essa informação fica muito fácil criar uma simples função que irá retornar o "provavelmente verdadeiro*" IP do visitante do site:
?
function getIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$
}
return $ip;
}
?>
?
1 $ip = $_SERVER['REMOTE_ADDR'];
0 comentários:
Postar um comentário