AWS で Symfony2 Web アプリケーションを実行しており、Elastic Load Balancer を使用しています。
コントローラー メソッドでは、Web ページを要求しているユーザーの IP を取得するために次のことを行う必要があります。
$request->trustProxyData();
$clientIp = $request->getClientIp(True);
これはセキュリティ上のリスクをもたらしますか? 権限昇格のためにクライアント IP を使用しているのではなく、ログに記録しているだけです。
trustProxyData()
常に強制する方法、またはDWIM$request->getClientIp()
に再構成する方法はありますか? アプリは常にロード バランサーの背後にあります (デスクトップで開発を行っている場合を除く)。
関連: http://fabien.potencier.org/article/51/create-your-own-framework-on-top-of-the-symfony2-components-part-2 (ただし、グローバルなconfig を変更したので、どこでも呼び出す必要はありませんtrustProxyData()
)。