php获取浏览器访问端的IP

服务器端的获取方法:
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。哪位大神能帮忙分析下原因,万分感谢。

1个回答

服务器应该安装ISA Server类型的防火墙。。看这个:Request.ServerVariables("REMOTE_ADDR")得到服务器IP,非客户端的IP

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐