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

Для определения 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.