Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
Получение IP-адреса
Стандртный код получания IP адреса выглядит так:$ip=$_SERVER['REMOTE_ADDR']
Если мы хотим получить все, что нам может дать серверное окружение ( X-Forwarded-For, Via и прочих ), то возьмем и напишем простой код, который в цикле перебирает массив $_SERVER, и регулярным выражением выбирает все заголовки, в которых встречается подхдящая под шаблон IP адреса строка. Если встретилась, то весь заголовок - с именем и всем содержимым - добавляем в строку.
REMOTE_ADDR: 18.232.52.135
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'];
}