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

Skip to content

Commit b541ffd

Browse files
vitmanVitali Tsyrkin
authored and
Vitali Tsyrkin
committed
Notice when HTTP_PHP_AUTH_USER passed without pass
There is a chance to get notice when HTTP_PHP_AUTH_USER passed, but HTTP_PHP_AUTH_PW is not
1 parent 3526a32 commit b541ffd

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/Symfony/Component/HttpFoundation/ServerBag.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ public function getHeaders()
8989

9090
// PHP_AUTH_USER/PHP_AUTH_PW
9191
if (isset($headers['PHP_AUTH_USER'])) {
92+
$headers['PHP_AUTH_PW'] = $headers['PHP_AUTH_PW'] ?? '';
9293
$headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']);
9394
} elseif (isset($headers['PHP_AUTH_DIGEST'])) {
9495
$headers['AUTHORIZATION'] = $headers['PHP_AUTH_DIGEST'];

src/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@ public function testHttpPasswordIsOptional()
5757
], $bag->getHeaders());
5858
}
5959

60+
public function testHttpPasswordIsOptionalWhenPassedWithHttpPrefix()
61+
{
62+
$bag = new ServerBag(['HTTP_PHP_AUTH_USER' => 'foo']);
63+
64+
$this->assertEquals([
65+
'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
66+
'PHP_AUTH_USER' => 'foo',
67+
'PHP_AUTH_PW' => '',
68+
], $bag->getHeaders());
69+
}
70+
6071
public function testHttpBasicAuthWithPhpCgi()
6172
{
6273
$bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')]);

0 commit comments

Comments
 (0)