PHP代码获取客户端的IP地址

时间:2014-11-24 05:34:47

标签: php apache

我有php代码来获取客户端的IP地址。它与一个http服务器(RHEL-4)工作正常,但相同的代码在其他服务器(CentOS)中提供不同的IP。

导致此问题的原因是什么?

代码是:

<?php
echo $_SERVER['REMOTE_ADDR'];
echo $_SERVER['HTTP_X_FORWARDED_FOR'];
echo $_SERVER['HTTP_CLIENT_IP'];
function GetUserIP() {

if (isset($_SERVER)) {

    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
        return $_SERVER["HTTP_X_FORWARDED_FOR"];

    if (isset($_SERVER["HTTP_CLIENT_IP"]))
        return $_SERVER["HTTP_CLIENT_IP"];

    return $_SERVER["REMOTE_ADDR"];
}

if (getenv('HTTP_X_FORWARDED_FOR'))
    return getenv('HTTP_X_FORWARDED_FOR');

if (getenv('HTTP_CLIENT_IP'))
    return getenv('HTTP_CLIENT_IP');

return getenv('REMOTE_ADDR');
GetUserIP();
}
?>

0 个答案:

没有答案