PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / symfony / http-foundation / ServerBag.php
give / vendor / symfony / http-foundation Last commit date
Exception 4 years ago File 4 years ago Session 4 years ago Tests 4 years ago AcceptHeader.php 4 years ago AcceptHeaderItem.php 4 years ago ApacheRequest.php 4 years ago BinaryFileResponse.php 4 years ago Cookie.php 4 years ago ExpressionRequestMatcher.php 4 years ago FileBag.php 4 years ago HeaderBag.php 4 years ago IpUtils.php 4 years ago JsonResponse.php 4 years ago LICENSE 4 years ago ParameterBag.php 4 years ago RedirectResponse.php 4 years ago Request.php 4 years ago RequestMatcher.php 4 years ago RequestMatcherInterface.php 4 years ago RequestStack.php 4 years ago Response.php 4 years ago ResponseHeaderBag.php 4 years ago ServerBag.php 4 years ago StreamedResponse.php 4 years ago
ServerBag.php
103 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Symfony\Component\HttpFoundation;
13
14 /**
15 * ServerBag is a container for HTTP headers from the $_SERVER variable.
16 *
17 * @author Fabien Potencier <fabien@symfony.com>
18 * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
19 * @author Robert Kiss <kepten@gmail.com>
20 */
21 class ServerBag extends ParameterBag
22 {
23 /**
24 * Gets the HTTP headers.
25 *
26 * @return array
27 */
28 public function getHeaders()
29 {
30 $headers = [];
31 $contentHeaders = ['CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true];
32 foreach ($this->parameters as $key => $value) {
33 if (0 === strpos($key, 'HTTP_')) {
34 $headers[substr($key, 5)] = $value;
35 }
36 // CONTENT_* are not prefixed with HTTP_
37 elseif (isset($contentHeaders[$key])) {
38 $headers[$key] = $value;
39 }
40 }
41
42 if (isset($this->parameters['PHP_AUTH_USER'])) {
43 $headers['PHP_AUTH_USER'] = $this->parameters['PHP_AUTH_USER'];
44 $headers['PHP_AUTH_PW'] = isset($this->parameters['PHP_AUTH_PW']) ? $this->parameters['PHP_AUTH_PW'] : '';
45 } else {
46 /*
47 * php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default
48 * For this workaround to work, add these lines to your .htaccess file:
49 * RewriteCond %{HTTP:Authorization} .+
50 * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
51 *
52 * A sample .htaccess file:
53 * RewriteEngine On
54 * RewriteCond %{HTTP:Authorization} .+
55 * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
56 * RewriteCond %{REQUEST_FILENAME} !-f
57 * RewriteRule ^(.*)$ app.php [QSA,L]
58 */
59
60 $authorizationHeader = null;
61 if (isset($this->parameters['HTTP_AUTHORIZATION'])) {
62 $authorizationHeader = $this->parameters['HTTP_AUTHORIZATION'];
63 } elseif (isset($this->parameters['REDIRECT_HTTP_AUTHORIZATION'])) {
64 $authorizationHeader = $this->parameters['REDIRECT_HTTP_AUTHORIZATION'];
65 }
66
67 if (null !== $authorizationHeader) {
68 if (0 === stripos($authorizationHeader, 'basic ')) {
69 // Decode AUTHORIZATION header into PHP_AUTH_USER and PHP_AUTH_PW when authorization header is basic
70 $exploded = explode(':', base64_decode(substr($authorizationHeader, 6)), 2);
71 if (2 == \count($exploded)) {
72 list($headers['PHP_AUTH_USER'], $headers['PHP_AUTH_PW']) = $exploded;
73 }
74 } elseif (empty($this->parameters['PHP_AUTH_DIGEST']) && (0 === stripos($authorizationHeader, 'digest '))) {
75 // In some circumstances PHP_AUTH_DIGEST needs to be set
76 $headers['PHP_AUTH_DIGEST'] = $authorizationHeader;
77 $this->parameters['PHP_AUTH_DIGEST'] = $authorizationHeader;
78 } elseif (0 === stripos($authorizationHeader, 'bearer ')) {
79 /*
80 * XXX: Since there is no PHP_AUTH_BEARER in PHP predefined variables,
81 * I'll just set $headers['AUTHORIZATION'] here.
82 * https://php.net/reserved.variables.server
83 */
84 $headers['AUTHORIZATION'] = $authorizationHeader;
85 }
86 }
87 }
88
89 if (isset($headers['AUTHORIZATION'])) {
90 return $headers;
91 }
92
93 // PHP_AUTH_USER/PHP_AUTH_PW
94 if (isset($headers['PHP_AUTH_USER'])) {
95 $headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']);
96 } elseif (isset($headers['PHP_AUTH_DIGEST'])) {
97 $headers['AUTHORIZATION'] = $headers['PHP_AUTH_DIGEST'];
98 }
99
100 return $headers;
101 }
102 }
103