هرچند گرفتن آی پی واقعی کاربر همیشه موفقیت آمیز نیست اما میتوان با استفاده از تابع زیر احتمال گرفتن IP واقعی کاربر را افزایش داد.

 

  //get user real ip 
  function getUserIP(){
        $client  = @$_SERVER['HTTP_CLIENT_IP'];
        $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
        $remote  = $_SERVER['REMOTE_ADDR'];

        if(filter_var($client, FILTER_VALIDATE_IP)){
            $ip = $client;
        }elseif(filter_var($forward, FILTER_VALIDATE_IP)){
            $ip = $forward;
        }else{
            $ip = $remote;
        }
        return $ip;
    }