@mrSeller

Почему Request::ip() генерирует ip localhost'a? Как получить реальный ip?

Проект на локальном сервере.
Вывожу в шаблон IP с помощью Request::ip() и получаю 127.0.0.1

Погуглил. Многие с этим сталкиваются, но решений либо нет, либо они не помогают (в основном, это разные методы получения ip).

Как же тогда получить свой реальный ip?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Видимо, перед вашим веб-сервером стоит ещё и nginx, а веб-сервер не настроен доверять этому nginx'у.

P. S. А если тестируете на локальной машине, то само собой, адрес будет 127.0.0.1.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
solotony
@solotony
code for food, caviar preferably
static function getIp()
    {
        $ip_address = '127.0.0.1';

        if (!empty($_SERVER['HTTP_CLIENT_IP']))
        {
            $ip_address = $_SERVER['HTTP_CLIENT_IP'];
        }

        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            if (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') !== false) {
                $iplist = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                foreach ($iplist as $ip) {
                    $ip_address = $ip;
                }
            } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
            }
        }

        if (!empty($_SERVER['HTTP_X_FORWARDED'])) {
            $ip_address = $_SERVER['HTTP_X_FORWARDED'];
        } elseif (!empty($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) {
            $ip_address = $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
        } elseif (!empty($_SERVER['HTTP_FORWARDED_FOR'])) {
            $ip_address = $_SERVER['HTTP_FORWARDED_FOR'];
        } elseif (!empty($_SERVER['HTTP_FORWARDED'])) {
            $ip_address = $_SERVER['HTTP_FORWARDED'];
        }
        elseif (!empty($_SERVER['REMOTE_ADDR'])) {
            $ip_address = $_SERVER['REMOTE_ADDR'];
        }

        return $ip_address;
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
4px Москва
от 100 000 до 150 000 руб.
FUTUROOM Самара
от 150 000 руб.
Digital-агентство Nimax Санкт-Петербург
от 80 000 до 110 000 руб.
19 авг. 2018, в 17:22
1000 руб./в час
19 авг. 2018, в 17:11
200000 руб./за проект
19 авг. 2018, в 12:12
40000 руб./в месяц