2011-04-16 46 views
0

我知道我可以得到用戶IP: $ _SERVER ['HTTP_CLIENT_IP'];如果用戶發出正常的http請求,將發送什麼信息?

用戶用戶的代理: $ _SERVER ['HTTP_USER_AGENT'];

我可以從普通的http請求中獲得用戶的其他信息嗎?謝謝。

+2

那麼,沒有保證。你在找什麼信息? – Brad 2011-04-16 03:04:51

+1

我相信它是'$ _SERVER ['REMOTE_ADDR']',而不是'HTTP_CLIENT_IP',它的價值。 – 2011-04-16 03:09:29

回答

2

如果在測試頁上使用phpinfo(),則可以看到將返回給當前Web服務器的值。不同服務器的結果不同,但應該在服務器上保持一致。你最好也是谷歌的名字,看看他們的確切目的和意義。

您還可以使用print_r($_SERVER);專門列出服務器變量。

+0

爲什麼它會在服務器上保持一致?它與客戶端的請求標題有關。 – 2011-04-16 03:11:22

+0

@Matthew不幸的是,PHP中沒有$ _CLIENT變量。所以,你必須堅持使用$ _SERVER。 – 2011-04-16 03:14:59

+0

@Col,我知道。我的觀點是,即使在特定的服務器上,主要用於請求標頭鍵(以HTTP_開頭的)的'$ _SERVER'的內容也會因請求而異。 – 2011-04-16 03:18:11

0

你如何定義「正常」?即使是user agent也不是必需的。這是一個「應該」而不是「必須」。 W3C有a list(RFC 2616的一部分)主要標題可能在那裏。