هرچند گرفتن آی پی واقعی کاربر همیشه موفقیت آمیز نیست اما میتوان با استفاده از تابع زیر احتمال گرفتن 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;
}