function GetIP(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($_SERVER[REMOTE_ADDR]) && $_SERVER[REMOTE_ADDR] && strcasecmp($_SERVER[REMOTE_ADDR], "unknown")) $ip = $_SERVER[REMOTE_ADDR]; else $ip = "unknown"; return($ip); } 即使用戶通過代理服務器上網,也能查出他的IP。但是要求代理服務器的類型是transparent類型。如果代理服務器是anonymous或者是high anonymous類型,HTTP_X_FORWARDED_FOR也無能為力了。