La soluzione più comune per ottenere l’indirizzo IP del client connesso al proprio sito è la seguente:
$_SERVER[‘REMOTE_ADDR’]
Il contenuto “REMOTE_ADDR” dell’array “$_SERVER” però non restituisce sempre l’indirizzo IP corretto del client. Qualora il client utilizzi un proxy per la navigazione, l’indirizzo IP restituito sarà quello del proxy e non quello effettivo del client.
Per ovviare a questo problema basta utilizzare una semplice funzione:
function IndirizzoIpReale() { 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 { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; } |