REMOTE_HOST和REMOTE_ADDR之间的区别

时间:2010-09-28 11:19:38

标签: apache server-variables

这两个变量有什么区别?

REMOTE_HOSTREMOTE_ADDR

4 个答案:

答案 0 :(得分:35)

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

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:0)

远程:是一台驻留在较远位置的计算机,从中检索数据通常是指专用网络或公用Internet中的服务器。

远程主机将返回REMOTE_ ADDR 或改为IP地址。

答案 3 :(得分:0)

来自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变量包含的标准域名 客户端将请求发送到服务器(如果有),否则 空值。完全合格的域名采用以下格式: 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 | "-"