Skip to content

Commit 3cdbd51

Browse files
committed
minor #14518 Remove deprecated HEADER_X_FORWARDED_ALL header (jderusse)
This PR was submitted for the 5.x branch but it was squashed and merged into the 5.2 branch instead. Discussion ---------- Remove deprecated HEADER_X_FORWARDED_ALL header Fixes #14514 Commits ------- e591814 Remove deprecated HEADER_X_FORWARDED_ALL header
2 parents ed600d6 + e591814 commit 3cdbd51

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

deployment/proxies.rst

+10-2
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,22 @@ and what headers your reverse proxy uses to send information::
3535
['192.0.0.1', '10.0.0.0/8'],
3636

3737
// trust *all* "X-Forwarded-*" headers
38-
Request::HEADER_X_FORWARDED_ALL
38+
Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO
3939

4040
// or, if your proxy instead uses the "Forwarded" header
4141
// Request::HEADER_FORWARDED
4242

43-
// or, if you're using AWS ELB
43+
// or, if you're using a wellknown proxy
4444
// Request::HEADER_X_FORWARDED_AWS_ELB
45+
// Request::HEADER_X_FORWARDED_TRAEFIK
4546
);
4647

48+
.. caution::
49+
50+
Enabling the ``Request::HEADER_X_FORWARDED_HOST`` option exposes the
51+
application to "`HTTP Host header attacks`_". Make sure the proxy really
52+
send a ``x-forwarded-host`` header.
53+
4754
The Request object has several ``Request::HEADER_*`` constants that control exactly
4855
*which* headers from your reverse proxy are trusted. The argument is a bit field,
4956
so you can also pass your own value (e.g. ``0b00110``).
@@ -114,3 +121,4 @@ In this case, you'll need to set the header ``X-Forwarded-Proto`` with the value
114121
.. _`security groups`: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html
115122
.. _`CloudFront`: https://en.wikipedia.org/wiki/Amazon_CloudFront
116123
.. _`CloudFront IP ranges`: https://ip-ranges.amazonaws.com/ip-ranges.json
124+
.. _`HTTP Host header attacks`: https://www.skeletonscribe.net/2013/05/practical-http-host-header-attacks.html

migration.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ could look something like this::
262262
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) {
263263
Request::setTrustedProxies(
264264
explode(',', $trustedProxies),
265-
Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST
265+
Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO
266266
);
267267
}
268268

0 commit comments

Comments
 (0)