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

Skip to content

Commit fcecefd

Browse files
committed
Update supported proxy headers for Symfony 6.
Refs: - symfony/symfony#37734 - symfony/symfony#38954 This upgrade causes a breaking change since newly generated config files created from v1.1.4 to v1.1.8 include a default reference to `Illuminate\Http\Request::HTTP_X_FORWARDED_ALL` which no longer exists as of Laravel 9 / Symfony 6 and there is no way for us to replace that class to add it back ourselves without copying the entirety of the class into our project and class_alias()ing it, which would be a bad idea for lots of reasons.
1 parent 4eacc7e commit fcecefd

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

src/Foundation/Http/Middleware/CheckForTrustedProxies.php

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,30 +130,40 @@ protected function getTrustedHeaders()
130130
$headers = $this->headers();
131131

132132
switch ($headers) {
133-
case 'HEADER_X_FORWARDED_AWS_ELB':
134-
case Request::HEADER_X_FORWARDED_AWS_ELB:
135-
return Request::HEADER_X_FORWARDED_AWS_ELB;
136-
break;
137133
case 'HEADER_FORWARDED':
138134
case Request::HEADER_FORWARDED:
139135
return Request::HEADER_FORWARDED;
140-
break;
141-
case 'HEADER_X_FORWARDED_ALL':
142-
case Request::HEADER_X_FORWARDED_ALL:
143-
return Request::HEADER_X_FORWARDED_ALL;
144-
break;
136+
137+
case 'HEADER_X_FORWARDED_FOR':
138+
case Request::HEADER_X_FORWARDED_FOR:
139+
return Request::HEADER_X_FORWARDED_FOR;
140+
145141
case 'HEADER_X_FORWARDED_HOST':
146142
case Request::HEADER_X_FORWARDED_HOST:
147143
return Request::HEADER_X_FORWARDED_HOST;
148-
break;
149-
case 'HEADER_X_FORWARDED_PORT':
150-
case Request::HEADER_X_FORWARDED_PORT:
151-
return Request::HEADER_X_FORWARDED_PORT;
152-
break;
144+
153145
case 'HEADER_X_FORWARDED_PROTO':
154146
case Request::HEADER_X_FORWARDED_PROTO:
155147
return Request::HEADER_X_FORWARDED_PROTO;
156-
break;
148+
149+
case 'HEADER_X_FORWARDED_PORT':
150+
case Request::HEADER_X_FORWARDED_PORT:
151+
return Request::HEADER_X_FORWARDED_PORT;
152+
153+
case 'HEADER_X_FORWARDED_PREFIX':
154+
case Request::HEADER_X_FORWARDED_PREFIX:
155+
return Request::HEADER_X_FORWARDED_PREFIX;
156+
157+
case 'HEADER_X_FORWARDED_ALL':
158+
return Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO;
159+
160+
case 'HEADER_X_FORWARDED_AWS_ELB':
161+
case Request::HEADER_X_FORWARDED_AWS_ELB:
162+
return Request::HEADER_X_FORWARDED_AWS_ELB;
163+
164+
case 'HEADER_X_FORWARDED_TRAEFIK':
165+
case Request::HEADER_X_FORWARDED_TRAEFIK:
166+
return Request::HEADER_X_FORWARDED_TRAEFIK;
157167
}
158168

159169
return $headers;

0 commit comments

Comments
 (0)