2010-09-28 65 views

回答

26

REMOTE_HOST屬於客戶端(即發出請求的計算機)的主機名。 REMOTE_ADDR是指客戶端的IP地址

有些時候主機名無法解析,所以REMOTE_HOST會返回REMOTE_ADDR或IP地址。

+0

我想提一下,如果中間有代理服務器,可能會看到意外的結果。 – dotfreelancer 2013-02-14 17:33:44

+17

這個答案是錯誤的,或者至多是誤導性的。 REMOTE_HOST是* client *的主機名,即發出請求的計算機,而不是服務器。 REMOTE_ADDR是客戶端的IP地址。 (來源:http://php.net/manual/en/reserved.variables.server.php,http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx ) – mhenry1384 2013-07-25 14:47:16

+2

@Ruel你能否糾正你的答案?據我所知,您正在描述「SERVER_ADDR」和「HTTP_HOST」。 – Sumurai8 2013-09-21 10:48:22

2

1. $_SERVER['REMOTE_ADDR'] - 這包含客戶端的真實IP地址。這是您可以從用戶中找到的最可靠的值。

2. $_SERVER['REMOTE_HOST'] - 這將獲取從用戶正在瀏覽當前頁面的主機名。 但是爲了使此腳本正常工作,必須配置httpd.conf內的Hostname Lookups On。