服务器端的获取方法:
private function getIP(){
if(getenv('HTTP_CLIENT_IP')) {
$ip=getenv('HTTP_CLIENT_IP');
}
else if(getenv('HTTP_X_FORWARDED_FOR')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
else if (getenv('REMOTE_ADDR')) {
$ip = getenv('REMOTE_ADDR');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
我使用上述方法获取客户端的IP,然后通过外网地址访问服务器程序,获取到的客户端IP为192.168.1.254(貌似是服务器相连的路由的IP),并没有获取到想要的客户端IP。哪位大神能帮忙分析下原因,万分感谢。
服务器应该安装ISA Server类型的防火墙。。看这个:Request.ServerVariables("REMOTE_ADDR")得到服务器IP,非客户端的IP