Определить точное ip пользователя?

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
Для определения использую функцию:
PHP:
function getIp() {
  $keys = [
    'HTTP_CLIENT_IP',
    'HTTP_X_FORWARDED_FOR',
    'REMOTE_ADDR'
  ];
  foreach ($keys as $key) {
    if (!empty($_SERVER[$key])) {
      $ip = trim(end(explode(',', $_SERVER[$key])));
      if (filter_var($ip, FILTER_VALIDATE_IP)) {
        return $ip;
      }
    }
  }
}
// $ip = getIp();
//echo 'ip = ' . $ip;
Все вроде работает, но попадаются вот такие, например 2001:bc8:182c:1951::1, что это и как его определить?
 

metsys

Хранитель порядка
Регистрация
27 Апр 2014
Сообщения
592
Реакции
655
Это ipv6 адрес и он определён.
 
Сверху