Подтвердить что ты не робот

IP-адрес машины в PHP дает:: 1, но почему?

Я пытаюсь получить ip-адрес моей машины через php. Для этого я пишу код вроде:

<?php echo  "<br />".$_SERVER['REMOTE_ADDR'];?>

Но этот кусок кода не работает. Он возвращает "::1". Пожалуйста, помогите мне, как получить фактический IP-адрес.

4b9b3361

Ответ 1

::1 - это фактический IP. Это адрес обратной связи ipv6 (то есть localhost). Если вы используете ipv4, это будет 127.0.0.1.

Если вы хотите получить другой IP-адрес, вам нужно будет подключиться к серверу через другой сетевой интерфейс.

Ответ 2

Если вы пытаетесь запустить localhost, этот ответ исправит вашу проблему. Всего несколько изменений на

apache2/httpd.conf 

искать все слова "listen" например:

Listen 80

Сделайте так.

Listen 127.0.0.1:80

чем перезапустить apache

$_SERVER[REMOTE_ADDR]

покажет Listen 127.0.0.1

вы можете увидеть ответ в этой подробной ссылке ответа

Ответ 3

Если вы хотите получить IP-адрес пользователя, вы можете сделать что-то вроде:

<?php
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else{
      $ip=$_SERVER['REMOTE_ADDR'];
    }
?>

<?php echo  "<br />".$ip;?>

Он получит фактический IP-адрес пользователя, независимо от прокси и т.д.

Ответ 5

Простой ответ: вы используете его на локальном сервере. Попробуйте запустить

function getUserIpAddr(){
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
        //ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //ip pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

echo 'User Real IP - '.getUserIpAddr();

в реальном сервере. Или вы также можете использовать онлайн-исполнитель php.

Ответ 6

Посмотрите на вывод phpinfo(). Если адрес не указан на этой странице, адрес недоступен непосредственно через PHP.