Для определения IP пользователя в PHP теперь рекомендуется использовать следующий код:
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $userIP = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $userIP = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $userIP = $_SERVER['REMOTE_ADDR']; }
Этот код проверяет, есть ли IP адрес пользователя в переменных $_SERVER['HTTP_CLIENT_IP']
и $_SERVER['HTTP_X_FORWARDED_FOR']
, и если они есть, то использует их. В противном случае, будет использован IP адрес, доступный в $_SERVER['REMOTE_ADDR']
.
Обратите внимание, что существует ряд проблем с определением IP адреса пользователя из-за прокси-серверов и кэширования, поэтому рекомендуется использовать этот код как базовый вариант для определения IP адреса, но нужно быть готовым к тому, что он может не всегда быть 100% точным.
Также рекомендуется проводить проверку и валидацию IP адреса после его определения, чтобы удостовериться, что это действительно корректный IP.