Как передавать IP адрес в Яндекс Метрику?

В метрику можно передавать любые пользовательские параметры, например IP адрес.

Как передавать IP адрес в Яндекс Метрику?
33

Кажется в первом способе будет неправильно определяться адрес клиента за прокси. Можно попробовать так, но тоже без 100% гарантии

public function getUserHostAddress(){
if (!empty($_SERVER['HTTP_X_REAL_IP']))
{
$ip=$_SERVER['HTTP_X_REAL_IP'];
}
elseif (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

1
Ответить

Первый способ самый распространенный я не стал его особо описывать. Но да, вы правы, если за proxy, например если на серваке связка apache+nginx то тут без HTTP_CLIENT_IP и HTTP_X_FORWARDED_FOR не обойтись для определения реального IP адреса.

Ответить