首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取客户端IP地址

如何获取客户端IP地址
EN

Stack Overflow用户
提问于 2010-08-10 19:43:20
回答 4查看 6.4K关注 0票数 4

我已经尝试获得的IP地址的客户端浏览网站使用$_SERVER['REMOTE_ADDR'],但我没有得到确切的IP的客户端请帮助我…谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-10 19:46:53

代码语言:javascript
复制
$_SERVER['REMOTE_ADDR'] 

才是你真正能得到的最好的。

客户端(HTTP_FORWARDED_FOR等人)可以发送各种其他报头(参见this question了解完整的概述),但是这些报头可以由客户端自由操作,并且不能被认为是可靠的。

票数 5
EN

Stack Overflow用户

发布于 2012-07-30 11:55:01

//获取客户端真实IP

代码语言:javascript
复制
function getIP() {
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
        $ip = getenv("HTTP_CLIENT_IP");
    } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
        $ip = getenv("REMOTE_ADDR");
    } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
        $ip = $_SERVER['REMOTE_ADDR'];
    } else {
        $ip = "unknown";
    }
    return($ip);
}
票数 3
EN

Stack Overflow用户

发布于 2010-08-10 19:48:31

服务器看到的IP地址是客户端面向公众的IP地址。如果它们位于NAT路由器之后,则它们在其网络中将具有不同的地址。

如果您在客户机上运行ipconfig (Windows)或ifconfig (Unix-y系统),您将获得它们的本地IP地址。如果它在192.168.x.x或10.x.x.x范围内,则它们位于NAT路由器之后,互联网将看到它们来自不同的地址。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3448529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档