踏雪飞鸿626 2016-08-25 07:43 采纳率: 0%
浏览 1644

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条回答 默认 最新

  • 斯洛文尼亚旅游 2016-08-25 09:34
    关注

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

    评论

报告相同问题?