note 30232 added to function.getenv

From: Date: Tue, 11 Mar 2003 19:37:30 +0000
Subject: note 30232 added to function.getenv
Groups: php.notes 
Request: Send a blank email to php-notes+get-45109@lists.php.net to get a copy of this message
My "bullet-proof" solution to fetch an IP-address.. <? function iptype1 () { if (getenv("HTTP_CLIENT_IP")) { return getenv("HTTP_CLIENT_IP"); } else { return "none"; } } function iptype2 () { if (getenv("HTTP_X_FORWARDED_FOR")) { return getenv("HTTP_X_FORWARDED_FOR"); } else { return "none"; } } function iptype3 () { if (getenv("REMOTE_ADDR")) { return getenv("REMOTE_ADDR"); } else { return "none"; } } function ip() { $ip1 = iptype1(); $ip2 = iptype2(); $ip3 = iptype3(); if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") { return $ip1; } elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") { return $ip2; } elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") { return $ip3; } else { return "none"; } } $ip = ip(); ?> I've fetched around 600 unique IP-addresses with this approach.. None of them returned "none" or "unknown".. Only real IP-addresses. Best regards Anders Winther -- http://www.php.net/manual/en/function.getenv.php http://master.php.net/manage/user-notes.php?action=edit+30232 http://master.php.net/manage/user-notes.php?action=delete+30232 http://master.php.net/manage/user-notes.php?action=reject+30232

« previous php.notes (#45109) next »