53

这两个变量有什么区别?

REMOTE_HOSTREMOTE_ADDR

4

4 回答 4

48

REMOTE_HOST 与客户端(即发出请求的计算机)的主机名有关。REMOTE_ADDR 是指客户端的IP 地址

有时主机名无法解析,因此 REMOTE_HOST 将返回 REMOTE_ADDR 或 IP 地址。

于 2010-09-28T11:28:41.653 回答
6

来自RFC-3875:</h2>
  • 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。完全限定域名采用 RFC 1034 [17] 第 3.5 节和 RFC 1123 [12] 第 2.1 节中所述的形式。域名不区分大小写。
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 | "-"

于 2019-09-04T09:19:44.473 回答
4

1.$_SERVER['REMOTE_ADDR'] - 这包含客户端的真实 IP 地址。这是您可以从用户那里找到的最可靠的价值。

2.$_SERVER['REMOTE_HOST'] - 这将获取用户正在查看当前页面的主机名。但要使此脚本正常工作,必须配置 httpd.conf 内的 Hostname Lookups On。

于 2016-12-29T15:21:45.303 回答
1

远程:是位于某个遥远位置的计算机,从中检索到的数据通常是指专用网络或公共互联网中的服务器。

Remote_host 将返回 REMOTE_ADDR 或 IP 地址。

于 2019-08-01T05:21:47.190 回答