usergeyv
Знаток
- Регистрация
- 5 Июл 2013
- Сообщения
- 152
- Реакции
- 25
- Автор темы
- #1
Для определения использую функцию:
Все вроде работает, но попадаются вот такие, например 2001:bc8:182c:1951::1, что это и как его определить?
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;