我想知道如何在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上
答案 0 :(得分:2)
为什么要使用Symfony包装器来实现这么简单的功能呢?
BTW - 任何人都可以在请求中注入额外的标头 - 但欺骗客户端IP地址需要更多的工作。所以你使用的方法是无聊的。 Symfony没有神奇的魔力来解决这个问题。