php如何获取客户端(用户这一端)和服务端(服务器这一端)的ip地址?

wzyl 发布于 2016/06/02 10:49
阅读 450
收藏 0
php如何获取客户端和服务端的真实ip地址呢?我用$_SERVER['REMOTE_ADDR']和$_SERVER['SERVER_ADDR']为什么获取到的ip地址都是一样的127.0.0.1呢?如何获取真实的客户端ip地址和服务端ip地址啊?求解答
加载中
0
geminiblue
geminiblue

你本地访问本地的?还是php前还有一层proxy?

wzyl
wzyl
服务器安装的也是一套集成环境
0
yangxiangming
yangxiangming

试试

/**
 * 获取客户端IP
 */
function getClientIp(){
    if(isset($_SERVER["HTTP_CLIENT_IP"]) and strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")){
        return $_SERVER["HTTP_CLIENT_IP"];
    }
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) and strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")){
        return $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    if(isset($_SERVER["REMOTE_ADDR"])){
        return $_SERVER["REMOTE_ADDR"];
    }
    return "";
}


leo108
leo108
回复 @zylgxn : 这个代码获得的IP可以被伪造,建议了解下X-Forwarded-For
wzyl
wzyl
感谢啦
返回顶部
顶部