我正在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