2013-04-13 78 views

回答

2

獲取客戶端的IP,使用全局$_SERVER陣列:

$ip = $_SERVER['REMOTE_ADDR']; 

解析IP的主機名,你可以使用gethostbyaddr()

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); 

對於用戶代理頭,其中將包含關於客戶端正在使用的操作系統和瀏覽器的信息,首選的方法是使用功能get_browser()

$clientInfo = get_browser(null, true); 
var_dump($clientInfo); 

...什麼會給你喜歡的數組:

Array 
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ 
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* 
    [parent] => Firefox 0.9 
    [platform] => WinXP 
    [browser] => Firefox 
    [version] => 0.9 
    [majorver] => 0 
    [minorver] => 9 
    [cssversion] => 2 
    [frames] => 1 
    [iframes] => 1 
    [tables] => 1 
    [cookies] => 1 
    [backgroundsounds] => 
    [vbscript] => 
    [javascript] => 1 
    [javaapplets] => 1 
    [activexcontrols] => 
    [cdf] => 
    [aol] => 
    [beta] => 1 
    [win16] => 
    [crawler] => 
    [stripper] => 
    [wap] => 
    [netclr] => 
) 
+0

非常感謝!我會盡快仔細研究一下:) – Tapy

+0

不客氣! :) – hek2mgl

1

訪問者的IP是在$_SERVER['REMOTE_ADDR']場可用,用戶代理字符串是在$_SERVER['HTTP_USER_AGENT']場可用。

請注意,根據訪問者是使用HTTP代理還是修改瀏覽器發送的頭文件,這兩種信息都可能是正確的,也可能不正確。

Name Address可以通過反向DNS請求獲得。

爲了得到這樣的訪客操作系統或瀏覽器的供應商信息,您可以使用PHP或更換(根據環境提供運行在你的代碼的get_browser()功能,通過PHP的get_browser()功能可能是需要的browscap.ini文件過時或失蹤)。