在symfony中获取真正的IP

时间:2011-09-05 11:00:03

标签: symfony1 ip-address

我想知道如何在Symfony框架上获得客户端的真实IP

我知道一个可以获得它的功能:


    if (!empty($_SERVER["HTTP_CLIENT_IP"]))
    {
     //check for ip from share internet
     $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
    {
     // Check for the Proxy User
     $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    else
    {
     $ip = $_SERVER["REMOTE_ADDR"];
    }

实际上我在symfony上使用它,但这不是真实性:


    sfContext::getInstance()->getRequest()->getHttpHeader('addr', 'remote');

我在Symfony 1.0.22上

1 个答案:

答案 0 :(得分:2)

为什么要使用Symfony包装器来实现这么简单的功能呢?

BTW - 任何人都可以在请求中注入额外的标头 - 但欺骗客户端IP地址需要更多的工作。所以你使用的方法是无聊的。 Symfony没有神奇的魔力来解决这个问题。