Показывать только IPv6 с использованием PHP - PullRequest
0 голосов
/ 27 октября 2019

У меня Ubuntu VPS, который поддерживает как IPv4, так и IPv6. Я установил на нем сайт PHP для проверки IP-адреса посетителя. Мой код:

    function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

Он возвращает только IPv4, а не IPv6, хотя у меня есть оба.

Как я могу заставить код показывать IPv6 по умолчанию, если у посетителя есть такой?

С уважением

...