我正在AWS上运行Symfony2 Web应用程序,并且正在使用Elastic Load Balancer。

在控制器方法中,我需要执行以下操作来获取请求网页的用户的IP:

$request->trustProxyData();
$clientIp = $request->getClientIp(True);

这会带来任何安全风险吗?我没有使用客户端IP进行特权升级,我只是在记录它。

有什么方法可以始终强制trustProxyData(),或者将$request->getClientIp()重新配置为DWIM吗?我的应用程序将始终位于负载均衡器的后面(除非我在桌面上进行开发)。

相关:http://fabien.potencier.org/article/51/create-your-own-framework-on-top-of-the-symfony2-components-part-2(但它没有说明是否有一些全局配置,因此我不必到处都调用trustProxyData())。

最佳答案

您可以配置框架捆绑包来做到这一点:http://symfony.com/doc/2.0/reference/configuration/framework.html#trust-proxy-headers

framework:
    trust_proxy_headers: true

09-04 21:35
查看更多