PHP and Web Technologies Freak
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.
Copyright © 2007 - Ersin Acar - is proudly powered by WordPress
Dilectio Theme is created by: Design Disease brought to you by Smashingmagazine.com
Leave a reply