@@ -42,13 +42,15 @@ public function testTrustedHeadersAreKept()
42
42
$ request ->headers ->set ('X-Forwarded-Host ' , 'Good ' );
43
43
$ request ->headers ->set ('X-Forwarded-Port ' , '1234 ' );
44
44
$ request ->headers ->set ('X-Forwarded-Proto ' , 'https ' );
45
+ $ request ->headers ->set ('X-Forwarded-Prefix ' , '/admin ' );
45
46
46
47
$ kernel = new TestSubRequestHandlerKernel (function ($ request , $ type , $ catch ) {
47
48
$ this ->assertSame ('127.0.0.1 ' , $ request ->server ->get ('REMOTE_ADDR ' ));
48
49
$ this ->assertSame ('10.0.0.2 ' , $ request ->getClientIp ());
49
50
$ this ->assertSame ('Good ' , $ request ->headers ->get ('X-Forwarded-Host ' ));
50
51
$ this ->assertSame ('1234 ' , $ request ->headers ->get ('X-Forwarded-Port ' ));
51
52
$ this ->assertSame ('https ' , $ request ->headers ->get ('X-Forwarded-Proto ' ));
53
+ $ this ->assertSame ('/admin ' , $ request ->headers ->get ('X-Forwarded-Prefix ' ));
52
54
});
53
55
54
56
SubRequestHandler::handle ($ kernel , $ request , HttpKernelInterface::MAIN_REQUEST , true );
@@ -64,6 +66,7 @@ public function testUntrustedHeadersAreRemoved()
64
66
$ request ->headers ->set ('X-Forwarded-Host ' , 'Evil ' );
65
67
$ request ->headers ->set ('X-Forwarded-Port ' , '1234 ' );
66
68
$ request ->headers ->set ('X-Forwarded-Proto ' , 'http ' );
69
+ $ request ->headers ->set ('X-Forwarded-Prefix ' , '/admin ' );
67
70
$ request ->headers ->set ('Forwarded ' , 'Evil2 ' );
68
71
69
72
$ kernel = new TestSubRequestHandlerKernel (function ($ request , $ type , $ catch ) {
@@ -72,6 +75,7 @@ public function testUntrustedHeadersAreRemoved()
72
75
$ this ->assertFalse ($ request ->headers ->has ('X-Forwarded-Host ' ));
73
76
$ this ->assertFalse ($ request ->headers ->has ('X-Forwarded-Port ' ));
74
77
$ this ->assertFalse ($ request ->headers ->has ('X-Forwarded-Proto ' ));
78
+ $ this ->assertFalse ($ request ->headers ->has ('X-Forwarded-Prefix ' ));
75
79
$ this ->assertSame ('for="10.0.0.1";host="localhost";proto=http ' , $ request ->headers ->get ('Forwarded ' ));
76
80
});
77
81
@@ -112,12 +116,14 @@ public function testTrustedXForwardedForHeader()
112
116
$ request ->headers ->set ('X-Forwarded-For ' , '10.0.0.2 ' );
113
117
$ request ->headers ->set ('X-Forwarded-Host ' , 'foo.bar ' );
114
118
$ request ->headers ->set ('X-Forwarded-Proto ' , 'https ' );
119
+ $ request ->headers ->set ('X-Forwarded-Prefix ' , '/admin ' );
115
120
116
121
$ kernel = new TestSubRequestHandlerKernel (function ($ request , $ type , $ catch ) {
117
122
$ this ->assertSame ('127.0.0.1 ' , $ request ->server ->get ('REMOTE_ADDR ' ));
118
123
$ this ->assertSame ('10.0.0.2 ' , $ request ->getClientIp ());
119
124
$ this ->assertSame ('foo.bar ' , $ request ->getHttpHost ());
120
125
$ this ->assertSame ('https ' , $ request ->getScheme ());
126
+ $ this ->assertSame ('/admin ' , $ request ->getBaseUrl ());
121
127
});
122
128
123
129
SubRequestHandler::handle ($ kernel , $ request , HttpKernelInterface::MAIN_REQUEST , true );
0 commit comments