这两个变量有什么区别?
REMOTE_HOST
和REMOTE_ADDR
。
REMOTE_HOST 与客户端(即发出请求的计算机)的主机名有关。REMOTE_ADDR 是指客户端的IP 地址。
有时主机名无法解析,因此 REMOTE_HOST 将返回 REMOTE_ADDR 或 IP 地址。
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 | "-"
1.$_SERVER['REMOTE_ADDR']
- 这包含客户端的真实 IP 地址。这是您可以从用户那里找到的最可靠的价值。
2.$_SERVER['REMOTE_HOST']
- 这将获取用户正在查看当前页面的主机名。但要使此脚本正常工作,必须配置 httpd.conf 内的 Hostname Lookups On。
远程:是位于某个遥远位置的计算机,从中检索到的数据通常是指专用网络或公共互联网中的服务器。
Remote_host 将返回 REMOTE_ADDR 或 IP 地址。