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也无能为力了。
