PHP - 获取公共IP

时间:2011-06-08 22:00:39

标签: php

  

可能重复:
  How do I find a user's IP address with PHP?

我的PHP页面中有一个表单。用户填写他的凭据和消息并按下发送。我通过电子邮件得到他的问题,可以回答他。

但我还想将此人的公共IP添加到电子邮件中,这可能吗?

非常感谢!

4 个答案:

答案 0 :(得分:10)

尝试使用$_SERVER['REMOTE_ADDR']获取用户的IP地址。

http://php.net/manual/en/reserved.variables.server.php

答案 1 :(得分:1)

您可以使用$_SERVER["REMOTE_ADDR"]。但它不一定可靠。

答案 2 :(得分:1)

您可以使用$_SERVER['REMOTE_ADDR']但如果您确实想要确保获得正确的IP而不是代理IP,那么我发现此功能很有用

注意:我不是此代码的所有者,我通过互联网找到了它

function get_real_ip()
{

    if (isset($_SERVER["HTTP_CLIENT_IP"]))
    {
        return $_SERVER["HTTP_CLIENT_IP"];
    }
    elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
    {
        return $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    elseif (isset($_SERVER["HTTP_X_FORWARDED"]))
    {
        return $_SERVER["HTTP_X_FORWARDED"];
    }
    elseif (isset($_SERVER["HTTP_FORWARDED_FOR"]))
    {
        return $_SERVER["HTTP_FORWARDED_FOR"];
    }
    elseif (isset($_SERVER["HTTP_FORWARDED"]))
    {
        return $_SERVER["HTTP_FORWARDED"];
    }
    else
    {
        return $_SERVER["REMOTE_ADDR"];
    }
}

答案 3 :(得分:-4)

您可以使用以下代码:

$ip = $REMOTE_ADDR;