8000 [HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragment… · symfony/symfony@18f55fe · GitHub
[go: up one dir, main page]

Skip to content

Commit 18f55fe

Browse files
kmadejskifabpot
authored andcommitted
[HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragmentRenderer.
1 parent b0410d4 commit 18f55fe

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ protected function createSubRequest($uri, Request $request)
122122
// Do nothing
123123
}
124124

125-
$server['REMOTE_ADDR'] = '127.0.0.1';
125+
$trustedProxies = Request::getTrustedProxies();
126+
$server['REMOTE_ADDR'] = $trustedProxies ? reset($trustedProxies) : '127.0.0.1';
127+
126128
unset($server['HTTP_IF_MODIFIED_SINCE']);
127129
unset($server['HTTP_IF_NONE_MATCH']);
128130

src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public function testRenderWithObjectsAsAttributes()
5656
$subRequest->attributes->replace(array('object' => $object, '_format' => 'html', '_controller' => 'main_controller', '_locale' => 'en'));
5757
$subRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
5858
$subRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');
59+
$subRequest->server->set('REMOTE_ADDR', '1.1.1.1');
5960

6061
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($subRequest));
6162

@@ -84,7 +85,7 @@ public function testRenderWithTrustedHeaderDisabled()
8485
{
8586
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, '');
8687

87-
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest(Request::create('/')));
88+
$strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest(Request::create('/', 'GET', array(), array(), array(), array('REMOTE_ADDR' => '1.1.1.1'))));
8889
$this->assertSame('foo', $strategy->render('/', Request::create('/'))->getContent());
8990
}
9091

@@ -168,6 +169,7 @@ public function testESIHeaderIsKeptInSubrequest()
168169
{
169170
$expectedSubRequest = Request::create('/');
170171
$expectedSubRequest->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
172+
$expectedSubRequest->server->set('REMOTE_ADDR', '1.1.1.1');
171173

172174
if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
173175
$expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
@@ -193,7 +195,7 @@ public function testESIHeaderIsKeptInSubrequestWithTrustedHeaderDisabled()
193195

194196
public function testHeadersPossiblyResultingIn304AreNotAssignedToSubrequest()
195197
{
196-
$expectedSubRequest = Request::create('/');
198+
$expectedSubRequest = Request::create('/', 'GET', array(), array(), array(), array('REMOTE_ADDR' => '1.1.1.1'));
197199
if (Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP)) {
198200
$expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1'));
199201
$expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1');

0 commit comments

Comments
 (0)
0