В чем разница между этими двумя переменными?
REMOTE_HOST
и REMOTE_ADDR
.
В чем разница между этими двумя переменными?
REMOTE_HOST
и REMOTE_ADDR
.
REMOTE_HOST относится к имени хоста клиента (т. е. компьютера, отправляющего запрос). REMOTE_ADDR относится к IP-адресу клиента.
Бывают случаи, когда имя хоста неразрешимо, поэтому REMOTE_HOST вместо этого возвращает REMOTE_ADDR или IP-адрес.
HostnameLookups
включен на сервере, в противном случае он всегда содержит IP-адрес. (HostnameLookups
по умолчанию выключено из соображений производительности.)
- person MrWhite; 14.07.2014
<сильный>1. $_SERVER['REMOTE_ADDR']
— содержит реальный IP-адрес клиента. Это самое надежное значение, которое вы можете получить от пользователя.
<сильный>2. $_SERVER['REMOTE_HOST']
— будет получено имя хоста, с которого пользователь просматривает текущую страницу. Но для того, чтобы этот сценарий работал, необходимо настроить поиск имени хоста в файле httpd.conf.
$_SERVER['REMOTE_ADDR']
— это обработанное значение PHP, хранящееся в суперглобальном файле $_SERVER
. Вопрос конкретно относится к одноименным переменным сервера Apache - это не обязательно одно и то же значение (но в этом случае должно быть). например. REQUEST_URI
Переменная сервера Apache и $_SERVER['REQUEST_URI']
суперглобальная переменная PHP могут сильно различаться.
- person MrWhite; 27.12.2020
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 )
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 | "-"
Удаленный: это компьютер, который находится в каком-то удаленном месте, из которого полученные данные обычно относятся к серверу в частной сети или общедоступном Интернете.
Remote_ host вместо этого вернет REMOTE_ ADDR или IP-адрес.