Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 954c024

Browse files
committed
Set REMOTE_ADDR as trusted proxy or localhost
1 parent 3b3d590 commit 954c024

File tree

2 files changed

+6
-17
lines changed

2 files changed

+6
-17
lines changed

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,8 @@ protected function createSubRequest($uri, Request $request)
122122
// Do nothing
123123
}
124124

125-
$server['REMOTE_ADDR'] = '127.0.0.1';
126-
// Make sure 127.0.0.1 is a trusted proxy
127-
if (!in_array('127.0.0.1', $trustedProxies = Request::getTrustedProxies())) {
128-
$trustedProxies[] = '127.0.0.1';
129-
Request::setTrustedProxies($trustedProxies);
130-
}
125+
$trustedProxies = Request::getTrustedProxies();
126+
$server['REMOTE_ADDR'] = $trustedProxies ? reset($trustedProxies) : '127.0.0.1';
131127

132128
unset($server['HTTP_IF_MODIFIED_SINCE']);
133129
unset($server['HTTP_IF_NONE_MATCH']);

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

Lines changed: 4 additions & 11 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');
@@ -204,15 +206,6 @@ public function testHeadersPossiblyResultingIn304AreNotAssignedToSubrequest()
204206
$strategy->render('/', $request);
205207
}
206208

207-
public function testLocalhostIsInTrustedProxies()
208-
{
209-
$strategy = new InlineFragmentRenderer($this->getKernel($this->returnValue(new Response())));
210-
$request = Request::create('/');
211-
$strategy->render('/', $request);
212-
213-
$this->assertTrue(in_array('127.0.0.1', Request::getTrustedProxies()));
214-
}
215-
216209
/**
217210
* Creates a Kernel expecting a request equals to $request
218211
* Allows delta in comparison in case REQUEST_TIME changed by 1 second.

0 commit comments

Comments
 (0)