I wrote this code today to return the IP address of a remote host when either the host hits the web server directly or accesses it through a web proxy (as in my situation). Thought someone might find it useful.

function writeIPAddress() {
if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]) == ”) {
return $_SERVER[‘REMOTE_ADDR’];
}

else {
return $_SERVER[‘HTTP_X_FORWARDED_FOR’];
}
}

Then, if you want to return the IP address as text on the page, simply do this:

echo writeIPAddress();

In addition, if you want to return the reverse DNS address of the IP, do this:

echo @gethostbyaddr(writeIPAddress());