note 105733 deleted from reserved.variables.server by danbrown
| From: | danbrown@php.net | Date: | Sat, 10 Sep 2011 19:42:43 +0000 |
| Subject: | note 105733 deleted from reserved.variables.server by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-183086@lists.php.net to get a copy of this message | ||
Note Submitter: how at ukr dot net
----
How to get user's real IP if user can come via proxy:
function getRealIp() {
$keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED');
foreach ($keys as $key) {
if (!isset($_SERVER[$key])) continue;
$ip = $_SERVER[$key];
$ipStart = substr($ip, 0, 3);
if ($ipStart == '127' || $ipStart == '192' || $ipStart == '10.')
continue;
return $ip;
}
return (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] :
'127.0.0.1';
}