Разница между REMOTE_HOST и REMOTE_ADDR

В чем разница между этими двумя переменными?

REMOTE_HOST и REMOTE_ADDR.

Ответ 1

REMOTE_HOST относится к имени хоста клиента (то есть к компьютеру, выполняющему запрос). REMOTE_ADDR относится к IP-адресу клиента.

Бывают случаи, когда имя хоста неразрешимо, поэтому REMOTE_HOST вернет REMOTE_ADDR или IP-адрес.

Ответ 2

1. $_SERVER['REMOTE_ADDR'] - Он содержит реальный IP-адрес клиента. Это самое надежное значение, которое вы можете найти у пользователя.

2. $_SERVER['REMOTE_HOST'] - Это позволит получить имя хоста, с которого пользователь просматривает текущую страницу. Но для этого script для работы необходимо, чтобы Hostname Lookups внутри HTTPd.conf был настроен.

Ответ 3

Удаленный: это компьютер, который находится в каком-то отдаленном месте, из которого извлеченные данные обычно ссылаются на сервер в частной сети или в общедоступном Интернете.

Удаленный_ хост вернет REMOTE_ ADDR Или вместо этого IP-адрес.

Ответ 4

Из RFC-3875

  • REMOTE_ADDR: переменная REMOTE_ADDR ДОЛЖНА быть установлена на сетевой адрес клиент отправляет запрос на сервер.
      REMOTE_ADDR  = hostnumber
      hostnumber   = ipv4-address | ipv6-address
      ipv4-address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit
      ipv6-address = hexpart [ ":" ipv4-address ]
      hexpart      = hexseq | ( [ hexseq ] "::" [ hexseq ] )
      hexseq       = 1*4hex *( ":" 1*4hex )
  • REMOTE_HOST: Переменная REMOTE_HOST содержит полное доменное имя клиент отправляет запрос на сервер, если имеется, в противном случае ЗНАЧЕНИЕ NULL. Полностью определенные доменные имена принимают форму, как описано в раздел 3.5 RFC 1034 [17] и раздел 2.1 RFC 1123 [12]. Доменные имена не чувствительны к регистру.
The REMOTE_HOST variable contains the fully qualified domain name of
   the client sending the request to the server, if available, otherwise
   NULL.  Fully qualified domain names take the form as described in
   section 3.5 of RFC 1034 [17] and section 2.1 of RFC 1123 [12].
   Domain names are not case sensitive.

      REMOTE_HOST   = "" | hostname | hostnumber
      hostname      = *( domainlabel "." ) toplabel [ "." ]
      domainlabel   = alphanum [ *alphahypdigit alphanum ]
      toplabel      = alpha [ *alphahypdigit alphanum ]
      alphahypdigit = alphanum | "-"