Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Получение IP-адреса
Стандртный код получания IP-адреса выглядит так:
$ip=$_SERVER['REMOTE_ADDR']
Если мы хотим получить все, что нам может дать серверное окружение (X-Forwarded-For, Via и прочих), то возьмем и напишем простой код, который в цикле перебирает массив $_SERVER и регулярным выражением выбирает все заголовки, в которых встречается подходящая под шаблон IP-адреса строка. Если встретилась, то весь заголовок – с именем и всем содержимым – добавляем в строку.
REMOTE_ADDR: 98.81.24.230
function get_all_ip() {
$ip_pattern="#(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)#";
$ret="";
foreach ($_SERVER as $k => $v) {
if (substr($k,0,5)=="HTTP_" AND preg_match($ip_pattern,$v)) $ret.=$k.": ".$v."\n";
}
return $ret;
}
echo get_all_ip();
Вариант более простого определения IP:
function getRealIpAddr()
{
if (!empty(@$_SERVER['HTTP_CLIENT_IP']))
return $_SERVER['HTTP_CLIENT_IP'];
elseif (!empty(@$_SERVER['HTTP_X_FORWARDED_FOR']))
return $_SERVER['HTTP_X_FORWARDED_FOR'];
else
return@$_SERVER['REMOTE_ADDR'];
}
.
Прокомментировать/Отблагодарить