Есть следующий код определяющий ip клиента.
$kernelVars['userIp'] = (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ((!empty($HTTP_ENV_VARS['REMOTE_ADDR'])) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $_SERVER['REMOTE_ADDR']);
Однако в Опере и мобильном Хроме выходит пустое значение.
В опере возможно через браузерный прокси работает (не 100% информация).
Через мобильные браузеры точно через прозрачные прокси работает интернет.
И получается что одного заголовка для определения ip очень мало. Как минимум есть еще и HTTP_X_FORWARDED_FOR. По поводу определения ip адреса клиента могу порекомендовать вам статью на хабре, которая лично мне очень помогла разобраться в происходящем.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости