通过PHP获取访问者的IP地址
之前我已经谈到过使用PHP获取访问者的IP地址。使用$_SERVER[“REMOTE_ADDR”]值的失败之处在于,如果访问者正在使用代理,则您将获得代理IP地址,而不是访问者真实IP地址。
此功能通过遍历$_SERVER数组中可能包含与IP地址有关的信息的任何变量来工作。如果它们都为空,则该函数最终查看$_SERVER[“REMOTE_ADDR”]值,并将其作为默认值返回。
function getRealIpAddr(){ if ( !empty($_SERVER['HTTP_CLIENT_IP']) ) { //从互联网检查IP。 $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) { //检查IP是否从代理传递。 $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { //从远端地址获取IP地址。 $ip = $_SERVER['REMOTE_ADDR']; } return $ip; }
要运行此功能,只需调用它。
echogetRealIpAddr();