Home > PHP > Get The IP Address Of A Visitor Through PHP

Get The IP Address Of A Visitor Through PHP

November 12th, 2008 Leave a comment Go to comments

I have talked previously about getting an IP address of a visitor with PHP. The failing in using the value of $_SERVER['REMOTE_ADDR'] is that if the visitor is using a proxy then you will get the proxy IP address and not the visitors real IP address.

This function works by going through any variables in the $_SERVER array that might exist that would contain information to do with IP addresses. If they are all empty then the function finally looks at $_SERVER['REMOTE_ADDR'] value and returns this as a default.

function getRealIpAddr(){
 if ( !empty($_SERVER['HTTP_CLIENT_IP']) ) {
  //check ip from share internet
  $ip = $_SERVER['HTTP_CLIENT_IP'];
 } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) {
  //to check ip is pass from proxy
  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
 } else {
  $ip = $_SERVER['REMOTE_ADDR'];
 }
 return $ip;
}

To run this function just call it.

echo getRealIpAddr();

This function was originally found here.

Categories: PHP Tags: , , , , ,
  1. December 30th, 2008 at 18:26 | #1

    Hi,

    I have go through this post and found very helpful but i still could not able to found the real ip. I use geoip api to track the country but when i get the ip from given function it could not return country and if i try http://www.whatismyip.com ip address it return the country correctly.
    thanks,
    akram.

  1. No trackbacks yet.