Как я могу получить IP-адрес пользователя в PHP?

Дубликат:

Как найти IP-адрес пользователя с php?

Изменить: Сервер – это Linux-модуль Debian, работающий под управлением PHP5 через suPHP. Над сообщением прочитано. Этот код охватывает все упомянутые пункты, но все еще возвращает неизвестные адреса.

Мой код всегда требует, чтобы удаленный IP-адрес был известен. Не имеет значения, получим ли мы адрес прокси-сервера, как только получим IP-адрес для доступа.

Функция ниже – это то, что мы используем в настоящее время в более чем 20% наборов, сервер попадает в неизвестный случай и ничего не имеет в переменной $ _SERVER.

function getip() { if ( $_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown") ) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else if ( $_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown") ) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { $ip = getenv("REMOTE_ADDR"); } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip = "unknown: ".var_dump($_SERVER, true); } return($ip); } 

Solutions Collecting From Web of "Как я могу получить IP-адрес пользователя в PHP?"

Некоторые случайные блоги, найденные через Google . Интересный код на самом деле находится в комментарии, а не то, что упоминал блоггер.

 function getIpAddress() { return (empty($_SERVER['HTTP_CLIENT_IP'])?(empty($_SERVER['HTTP_X_FORWARDED_FOR'])? $_SERVER['REMOTE_ADDR']:$_SERVER['HTTP_X_FORWARDED_FOR']):$_SERVER['HTTP_CLIENT_IP']); } function getRealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; }