‪TYPO3CMS  9.5
NormalizedParams.php
Go to the documentation of this file.
1 <?php
2 declare(strict_types = 1);
3 namespace ‪TYPO3\CMS\Core\Http;
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
20 
32 {
44  protected ‪$httpHost = '';
45 
49  protected ‪$isHttps = false;
50 
60  protected ‪$requestHost = '';
61 
70  protected ‪$requestHostOnly = '';
71 
77  protected ‪$requestPort = 0;
78 
88  protected ‪$scriptName = '';
89 
100  protected ‪$requestUri = '';
101 
111  protected ‪$requestUrl = '';
112 
122  protected ‪$requestScript = '';
123 
133  protected ‪$requestDir = '';
134 
140  protected ‪$isBehindReverseProxy = false;
141 
147  protected ‪$remoteAddress = '';
148 
156  protected ‪$scriptFilename = '';
157 
165  protected ‪$documentRoot = '';
166 
179  protected ‪$siteUrl = '';
180 
189  protected ‪$sitePath = '';
190 
199  protected ‪$siteScript = '';
200 
212  protected ‪$pathInfo = '';
213 
224  protected ‪$httpReferer = '';
225 
234  protected ‪$httpUserAgent = '';
235 
244  protected ‪$httpAcceptEncoding = '';
245 
254  protected ‪$httpAcceptLanguage = '';
255 
264  protected ‪$remoteHost = '';
265 
276  protected ‪$queryString = '';
277 
293  public function ‪__construct(array $serverParams, array $configuration, string $pathThisScript, string $pathSite)
294  {
296  ‪$httpHost = $this->httpHost = ‪self::determineHttpHost($serverParams, $configuration, ‪$isBehindReverseProxy);
297  ‪$isHttps = $this->‪isHttps = ‪self::determineHttps($serverParams, $configuration);
298  ‪$requestHost = $this->requestHost = (‪$isHttps ? 'https://' : 'http://') . ‪$httpHost;
301  ‪$scriptName = $this->scriptName = ‪self::determineScriptName($serverParams, $configuration, ‪$isHttps, ‪$isBehindReverseProxy);
302  ‪$requestUri = $this->requestUri = ‪self::determineRequestUri($serverParams, $configuration, ‪$isHttps, ‪$scriptName, ‪$isBehindReverseProxy);
303  ‪$requestUrl = $this->requestUrl = ‪$requestHost . ‪$requestUri;
304  $this->requestScript = ‪$requestHost . ‪$scriptName;
305  ‪$requestDir = $this->requestDir = ‪$requestHost . GeneralUtility::dirname(‪$scriptName) . '/';
306  $this->remoteAddress = ‪self::determineRemoteAddress($serverParams, $configuration, ‪$isBehindReverseProxy);
307  ‪$scriptFilename = $this->scriptFilename = $pathThisScript;
309  ‪$siteUrl = $this->siteUrl = ‪self::determineSiteUrl(‪$requestDir, $pathThisScript, $pathSite . '/');
312 
313  // @deprecated Below variables can be fully deprecated as soon as core does not use them anymore
314  $this->pathInfo = $serverParams['PATH_INFO'] ?? '';
315  $this->httpReferer = $serverParams['HTTP_REFERER'] ?? '';
316  $this->httpUserAgent = $serverParams['HTTP_USER_AGENT'] ?? '';
317  $this->httpAcceptEncoding = $serverParams['HTTP_ACCEPT_ENCODING'] ?? '';
318  $this->httpAcceptLanguage = $serverParams['HTTP_ACCEPT_LANGUAGE'] ?? '';
319  $this->remoteHost = $serverParams['REMOTE_HOST'] ?? '';
320  $this->queryString = $serverParams['QUERY_STRING'] ?? '';
321  }
322 
326  public function ‪getHttpHost(): string
327  {
328  return ‪$this->httpHost;
329  }
330 
334  public function ‪isHttps(): bool
335  {
336  return ‪$this->isHttps;
337  }
338 
342  public function ‪getRequestHost(): string
343  {
344  return ‪$this->requestHost;
345  }
346 
350  public function ‪getRequestHostOnly(): string
351  {
353  }
354 
358  public function ‪getRequestPort(): int
359  {
360  return ‪$this->requestPort;
361  }
362 
366  public function ‪getScriptName(): string
367  {
368  return ‪$this->scriptName;
369  }
370 
374  public function ‪getRequestUri(): string
375  {
376  return ‪$this->requestUri;
377  }
378 
382  public function ‪getRequestUrl(): string
383  {
384  return ‪$this->requestUrl;
385  }
386 
390  public function ‪getRequestScript(): string
391  {
393  }
394 
398  public function ‪getRequestDir(): string
399  {
400  return ‪$this->requestDir;
401  }
402 
406  public function ‪isBehindReverseProxy(): bool
407  {
409  }
410 
414  public function ‪getRemoteAddress(): string
415  {
417  }
418 
422  public function ‪getScriptFilename(): string
423  {
425  }
426 
430  public function ‪getDocumentRoot(): string
431  {
432  return ‪$this->documentRoot;
433  }
434 
438  public function ‪getSiteUrl(): string
439  {
441  }
442 
446  public function ‪getSitePath(): string
447  {
448  return ‪$this->sitePath;
449  }
450 
454  public function ‪getSiteScript(): string
455  {
456  return ‪$this->siteScript;
457  }
458 
464  public function ‪getPathInfo(): string
465  {
466  return ‪$this->pathInfo;
467  }
468 
474  public function ‪getHttpReferer(): string
475  {
476  return ‪$this->httpReferer;
477  }
478 
484  public function ‪getHttpUserAgent(): string
485  {
487  }
488 
494  public function ‪getHttpAcceptEncoding(): string
495  {
497  }
498 
504  public function ‪getHttpAcceptLanguage(): string
505  {
507  }
508 
514  public function ‪getRemoteHost(): string
515  {
516  return ‪$this->remoteHost;
517  }
518 
524  public function ‪getQueryString(): string
525  {
526  return ‪$this->queryString;
527  }
528 
538  protected static function ‪determineHttpHost(array $serverParams, array $configuration, bool ‪$isBehindReverseProxy): string
539  {
540  ‪$httpHost = $serverParams['HTTP_HOST'] ?? '';
542  // If the request comes from a configured proxy which has set HTTP_X_FORWARDED_HOST, then
543  // evaluate reverseProxyHeaderMultiValue and
544  $xForwardedHostArray = GeneralUtility::trimExplode(',', $serverParams['HTTP_X_FORWARDED_HOST'] ?? '', true);
545  $xForwardedHost = '';
546  // Choose which host in list to use
547  if (!empty($xForwardedHostArray)) {
548  $configuredReverseProxyHeaderMultiValue = trim($configuration['reverseProxyHeaderMultiValue'] ?? '');
549  // Default if reverseProxyHeaderMultiValue is not set or set to 'none', instead of 'first' / 'last' is to
550  // ignore $serverParams['HTTP_X_FORWARDED_HOST']
551  // @todo: Maybe this default is stupid: Both SYS/reverseProxyIP hand SYS/reverseProxyHeaderMultiValue have to
552  // @todo: be configured for a working setup. It would be easier to only configure SYS/reverseProxyIP and fall
553  // @todo: back to "first" if SYS/reverseProxyHeaderMultiValue is not set.
554  if ($configuredReverseProxyHeaderMultiValue === 'last') {
555  $xForwardedHost = array_pop($xForwardedHostArray);
556  } elseif ($configuredReverseProxyHeaderMultiValue === 'first') {
557  $xForwardedHost = array_shift($xForwardedHostArray);
558  }
559  }
560  if ($xForwardedHost) {
561  ‪$httpHost = $xForwardedHost;
562  }
563  }
564  if (!GeneralUtility::isAllowedHostHeaderValue(‪$httpHost)) {
565  throw new \UnexpectedValueException(
566  'The current host header value does not match the configured trusted hosts pattern!'
567  . ' Check the pattern defined in $GLOBALS[\'TYPO3_CONF_VARS\'][\'SYS\'][\'trustedHostsPattern\']'
568  . ' and adapt it, if you want to allow the current host header \'' . ‪$httpHost . '\' for your installation.',
569  1396795886
570  );
571  }
572  return $httpHost;
573  }
574 
583  protected static function determineHttps(array $serverParams, array $configuration): bool
584  {
585  $isHttps = false;
586  $configuredProxySSL = trim($configuration['reverseProxySSL'] ?? '');
587  if ($configuredProxySSL === '*') {
588  $configuredProxySSL = trim($configuration['reverseProxyIP'] ?? '');
589  }
590  $httpsParam = (string)($serverParams['HTTPS'] ?? '');
591  if (GeneralUtility::cmpIP(trim($serverParams['REMOTE_ADDR'] ?? ''), $configuredProxySSL)
592  || ($serverParams['SSL_SESSION_ID'] ?? '')
593  // https://secure.php.net/manual/en/reserved.variables.server.php
594  // "Set to a non-empty value if the script was queried through the HTTPS protocol."
595  || ($httpsParam !== '' && $httpsParam !== 'off' && $httpsParam !== '0')
596  ) {
597  $isHttps = true;
598  }
599  return $isHttps;
600  }
601 
611  protected static function determineScriptName(array $serverParams, array $configuration, bool $isHttps, bool $isBehindReverseProxy): string
612  {
613  // see https://forge.typo3.org/issues/89312
614  // When using a CGI wrapper to dispatch the PHP process `ORIG_SCRIPT_NAME`
615  // contains the name of the wrapper script (which is most probably outside
616  // the TYPO3's project root) and leads to invalid prefixes, e.g. resolving
617  // the `siteUrl` incorrectly as `http://ip10.local/fcgi/` instead of
618  // actual `http://ip10.local/`
619  $possiblePathInfo = ($serverParams['ORIG_PATH_INFO'] ?? '') ?: ($serverParams['PATH_INFO'] ?? '');
620  $possibleScriptName = ($serverParams['ORIG_SCRIPT_NAME'] ?? '') ?: ($serverParams['SCRIPT_NAME'] ?? '');
622  ? $possiblePathInfo
623  : $possibleScriptName;
625  // Add a prefix if TYPO3 is behind a proxy: ext-domain.com => int-server.com/prefix
626  if (‪$isHttps && !empty($configuration['reverseProxyPrefixSSL'])) {
627  ‪$scriptName = $configuration['reverseProxyPrefixSSL'] . ‪$scriptName;
628  } elseif (!empty($configuration['reverseProxyPrefix'])) {
629  ‪$scriptName = $configuration['reverseProxyPrefix'] . ‪$scriptName;
630  }
631  }
632  return ‪$scriptName;
633  }
634 
646  protected static function ‪determineRequestUri(array $serverParams, array $configuration, bool ‪$isHttps, string ‪$scriptName, bool ‪$isBehindReverseProxy): string
647  {
648  $proxyPrefixApplied = false;
649  if (!empty($configuration['requestURIvar'])) {
650  // This is for URL rewriter that store the original URI in a server
651  // variable (e.g. ISAPI Rewriter for IIS: HTTP_X_REWRITE_URL), a config then looks like:
652  // requestURIvar = '_SERVER|HTTP_X_REWRITE_URL' which will access $GLOBALS['_SERVER']['HTTP_X_REWRITE_URL']
653  list($firstLevel, $secondLevel) = GeneralUtility::trimExplode('|', $configuration['requestURIvar'], true);
654  ‪$requestUri = ‪$GLOBALS[$firstLevel][$secondLevel];
655  } elseif (empty($serverParams['REQUEST_URI'])) {
656  // This is for ISS/CGI which does not have the REQUEST_URI available.
657  ‪$queryString = !empty($serverParams['QUERY_STRING']) ? '?' . $serverParams['QUERY_STRING'] : '';
658  // script name already had the proxy prefix handling, we must not add it a second time
659  $proxyPrefixApplied = true;
660  ‪$requestUri = '/' . ltrim(‪$scriptName, '/') . ‪$queryString;
661  } else {
662  ‪$requestUri = '/' . ltrim($serverParams['REQUEST_URI'], '/');
663  }
664  if (!$proxyPrefixApplied && ‪$isBehindReverseProxy) {
665  // Add a prefix if TYPO3 is behind a proxy: ext-domain.com => int-server.com/prefix
666  if (‪$isHttps && !empty($configuration['reverseProxyPrefixSSL'])) {
667  ‪$requestUri = $configuration['reverseProxyPrefixSSL'] . ‪$requestUri;
668  } elseif (!empty($configuration['reverseProxyPrefix'])) {
669  ‪$requestUri = $configuration['reverseProxyPrefix'] . ‪$requestUri;
670  }
671  }
672  return ‪$requestUri;
673  }
674 
683  protected static function ‪determineRemoteAddress(array $serverParams, array $configuration, bool ‪$isBehindReverseProxy): string
684  {
685  ‪$remoteAddress = trim($serverParams['REMOTE_ADDR'] ?? '');
687  $ip = GeneralUtility::trimExplode(',', $serverParams['HTTP_X_FORWARDED_FOR'] ?? '', true);
688  // Choose which IP in list to use
689  $configuredReverseProxyHeaderMultiValue = trim($configuration['reverseProxyHeaderMultiValue'] ?? '');
690  if (!empty($ip) && $configuredReverseProxyHeaderMultiValue === 'last') {
691  $ip = array_pop($ip);
692  } elseif (!empty($ip) && $configuredReverseProxyHeaderMultiValue === 'first') {
693  $ip = array_shift($ip);
694  } else {
695  $ip = '';
696  }
697  if (GeneralUtility::validIP($ip)) {
699  }
700  }
701  return ‪$remoteAddress;
702  }
703 
711  protected static function ‪determineIsBehindReverseProxy($serverParams, $configuration): bool
712  {
713  return GeneralUtility::cmpIP(trim($serverParams['REMOTE_ADDR'] ?? ''), trim($configuration['reverseProxyIP'] ?? ''));
714  }
715 
722  protected static function ‪determineRequestHostOnly(string ‪$httpHost): string
723  {
724  $httpHostBracketPosition = strpos(‪$httpHost, ']');
725  $httpHostParts = explode(':', ‪$httpHost);
726  return $httpHostBracketPosition !== false ? substr(‪$httpHost, 0, $httpHostBracketPosition + 1) : array_shift($httpHostParts);
727  }
728 
736  protected static function ‪determineRequestPort(string ‪$httpHost, string $httpHostOnly): int
737  {
738  return strlen(‪$httpHost) > strlen($httpHostOnly) ? (int)substr(‪$httpHost, strlen($httpHostOnly) + 1) : 0;
739  }
740 
748  protected static function ‪determineDocumentRoot(string ‪$scriptName, string ‪$scriptFilename): string
749  {
750  // Get the web root (it is not the root of the TYPO3 installation)
751  // Some CGI-versions (LA13CGI) and mod-rewrite rules on MODULE versions will deliver a 'wrong'
752  // DOCUMENT_ROOT (according to our description). Further various aliases/mod_rewrite rules can
753  // disturb this as well. Therefore the DOCUMENT_ROOT is always calculated as the SCRIPT_FILENAME
754  // minus the end part shared with SCRIPT_NAME.
755  $webDocRoot = '';
756  $scriptNameArray = explode('/', strrev(‪$scriptName));
757  $scriptFilenameArray = explode('/', strrev(‪$scriptFilename));
758  $path = [];
759  foreach ($scriptNameArray as $segmentNumber => $segment) {
760  if ((string)$scriptFilenameArray[$segmentNumber] === (string)$segment) {
761  $path[] = $segment;
762  } else {
763  break;
764  }
765  }
766  $commonEnd = strrev(implode('/', $path));
767  if ((string)$commonEnd !== '') {
768  $webDocRoot = substr(‪$scriptFilename, 0, -(strlen($commonEnd) + 1));
769  }
770  return $webDocRoot;
771  }
772 
781  protected static function ‪determineSiteUrl(string ‪$requestDir, string $pathThisScript, string $pathSite): string
782  {
783  if (defined('TYPO3_PATH_WEB')) {
784  // This can only be set by external entry scripts
786  } else {
787  $pathThisScriptDir = substr(dirname($pathThisScript), strlen($pathSite)) . '/';
788  ‪$siteUrl = substr(‪$requestDir, 0, -strlen($pathThisScriptDir));
789  ‪$siteUrl = rtrim(‪$siteUrl, '/') . '/';
790  }
791  return ‪$siteUrl;
792  }
793 
801  protected static function ‪determineSitePath(string ‪$requestHost, string ‪$siteUrl): string
802  {
803  return (string)substr(‪$siteUrl, strlen(‪$requestHost));
804  }
805 
813  protected static function ‪determineSiteScript(string ‪$requestUrl, string ‪$siteUrl): string
814  {
815  return (string)substr(‪$requestUrl, strlen(‪$siteUrl));
816  }
817 }
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestHost
‪string $requestHost
Definition: NormalizedParams.php:57
‪TYPO3\CMS\Core\Http\NormalizedParams\$sitePath
‪string $sitePath
Definition: NormalizedParams.php:173
‪TYPO3\CMS\Core\Http\NormalizedParams\determineRequestPort
‪static int determineRequestPort(string $httpHost, string $httpHostOnly)
Definition: NormalizedParams.php:712
‪TYPO3\CMS\Core\Http\NormalizedParams\$httpAcceptLanguage
‪string $httpAcceptLanguage
Definition: NormalizedParams.php:232
‪TYPO3\CMS\Core\Http\NormalizedParams\$httpAcceptEncoding
‪string $httpAcceptEncoding
Definition: NormalizedParams.php:223
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestUrl
‪string $requestUrl
Definition: NormalizedParams.php:103
‪TYPO3\CMS\Core\Http\NormalizedParams\getDocumentRoot
‪string getDocumentRoot()
Definition: NormalizedParams.php:406
‪TYPO3\CMS\Core\Http\NormalizedParams\determineDocumentRoot
‪static string determineDocumentRoot(string $scriptName, string $scriptFilename)
Definition: NormalizedParams.php:724
‪TYPO3\CMS\Core\Http\NormalizedParams\getSitePath
‪string getSitePath()
Definition: NormalizedParams.php:422
‪TYPO3\CMS\Core\Core\Environment\isRunningOnCgiServer
‪static bool isRunningOnCgiServer()
Definition: Environment.php:286
‪TYPO3\CMS\Core\Http\NormalizedParams\$siteScript
‪string $siteScript
Definition: NormalizedParams.php:182
‪TYPO3\CMS\Core\Http\NormalizedParams\determineRequestHostOnly
‪static string determineRequestHostOnly(string $httpHost)
Definition: NormalizedParams.php:698
‪TYPO3\CMS\Core\Http\NormalizedParams\$remoteAddress
‪string $remoteAddress
Definition: NormalizedParams.php:135
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestHostOnly
‪string $requestHostOnly
Definition: NormalizedParams.php:66
‪TYPO3\CMS\Core\Http\NormalizedParams\$scriptName
‪string $scriptName
Definition: NormalizedParams.php:82
‪TYPO3\CMS\Core\Http\NormalizedParams\determineSiteScript
‪static string determineSiteScript(string $requestUrl, string $siteUrl)
Definition: NormalizedParams.php:789
‪TYPO3\CMS\Core\Http\NormalizedParams\determineHttpHost
‪static string determineHttpHost(array $serverParams, array $configuration, bool $isBehindReverseProxy)
Definition: NormalizedParams.php:514
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestHost
‪string getRequestHost()
Definition: NormalizedParams.php:318
‪TYPO3\CMS\Core\Http\NormalizedParams\$isBehindReverseProxy
‪bool $isBehindReverseProxy
Definition: NormalizedParams.php:129
‪TYPO3\CMS\Core\Http\NormalizedParams\determineSiteUrl
‪static string determineSiteUrl(string $requestDir, string $pathThisScript, string $pathSite)
Definition: NormalizedParams.php:757
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestScript
‪string $requestScript
Definition: NormalizedParams.php:113
‪TYPO3\CMS\Core\Http\NormalizedParams\getHttpAcceptLanguage
‪string getHttpAcceptLanguage()
Definition: NormalizedParams.php:480
‪TYPO3\CMS\Core\Http\NormalizedParams\$remoteHost
‪string $remoteHost
Definition: NormalizedParams.php:241
‪TYPO3\CMS\Core\Http\NormalizedParams\getHttpUserAgent
‪string getHttpUserAgent()
Definition: NormalizedParams.php:460
‪TYPO3\CMS\Core\Http\NormalizedParams\determineRequestUri
‪static string determineRequestUri(array $serverParams, array $configuration, bool $isHttps, string $scriptName, bool $isBehindReverseProxy)
Definition: NormalizedParams.php:622
‪TYPO3\CMS\Core\Http\NormalizedParams\$siteUrl
‪string $siteUrl
Definition: NormalizedParams.php:164
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestPort
‪int getRequestPort()
Definition: NormalizedParams.php:334
‪TYPO3\CMS\Core\Http\NormalizedParams\getSiteUrl
‪string getSiteUrl()
Definition: NormalizedParams.php:414
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestUri
‪string getRequestUri()
Definition: NormalizedParams.php:350
‪TYPO3\CMS\Core\Http\NormalizedParams\$pathInfo
‪string $pathInfo
Definition: NormalizedParams.php:194
‪TYPO3\CMS\Core\Http\NormalizedParams\getRemoteAddress
‪string getRemoteAddress()
Definition: NormalizedParams.php:390
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestPort
‪int $requestPort
Definition: NormalizedParams.php:72
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestDir
‪string getRequestDir()
Definition: NormalizedParams.php:374
‪TYPO3\CMS\Core\Http\NormalizedParams\$documentRoot
‪string $documentRoot
Definition: NormalizedParams.php:151
‪TYPO3\CMS\Core\Http\NormalizedParams\getScriptFilename
‪string getScriptFilename()
Definition: NormalizedParams.php:398
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestUrl
‪string getRequestUrl()
Definition: NormalizedParams.php:358
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestHostOnly
‪string getRequestHostOnly()
Definition: NormalizedParams.php:326
‪TYPO3\CMS\Core\Http\NormalizedParams\getQueryString
‪string getQueryString()
Definition: NormalizedParams.php:500
‪TYPO3\CMS\Core\Http\NormalizedParams\getSiteScript
‪string getSiteScript()
Definition: NormalizedParams.php:430
‪TYPO3\CMS\Core\Http\NormalizedParams\$scriptFilename
‪string $scriptFilename
Definition: NormalizedParams.php:143
‪TYPO3\CMS\Core\Http\NormalizedParams\getRequestScript
‪string getRequestScript()
Definition: NormalizedParams.php:366
‪TYPO3\CMS\Core\Http\NormalizedParams\isHttps
‪bool isHttps()
Definition: NormalizedParams.php:310
‪TYPO3\CMS\Core\Http\NormalizedParams\determineScriptName
‪static string determineScriptName(array $serverParams, array $configuration, bool $isHttps, bool $isBehindReverseProxy)
Definition: NormalizedParams.php:587
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestDir
‪string $requestDir
Definition: NormalizedParams.php:123
‪TYPO3\CMS\Core\Http\NormalizedParams\__construct
‪__construct(array $serverParams, array $configuration, string $pathThisScript, string $pathSite)
Definition: NormalizedParams.php:269
‪TYPO3\CMS\Core\Http\NormalizedParams\$requestUri
‪string $requestUri
Definition: NormalizedParams.php:93
‪TYPO3\CMS\Core\Http\NormalizedParams\$isHttps
‪bool $isHttps
Definition: NormalizedParams.php:47
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:39
‪TYPO3\CMS\Core\Http\NormalizedParams\determineHttps
‪static bool determineHttps(array $serverParams, array $configuration)
Definition: NormalizedParams.php:559
‪TYPO3\CMS\Core\Http\NormalizedParams\$queryString
‪string $queryString
Definition: NormalizedParams.php:252
‪TYPO3\CMS\Core\Http\NormalizedParams\isBehindReverseProxy
‪bool isBehindReverseProxy()
Definition: NormalizedParams.php:382
‪TYPO3\CMS\Core\Http\NormalizedParams\$httpReferer
‪string $httpReferer
Definition: NormalizedParams.php:205
‪TYPO3\CMS\Core\Http\NormalizedParams\getHttpReferer
‪string getHttpReferer()
Definition: NormalizedParams.php:450
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Core\Http\NormalizedParams\getHttpAcceptEncoding
‪string getHttpAcceptEncoding()
Definition: NormalizedParams.php:470
‪TYPO3\CMS\Core\Http\NormalizedParams\getPathInfo
‪string getPathInfo()
Definition: NormalizedParams.php:440
‪TYPO3\CMS\Core\Http\NormalizedParams\determineRemoteAddress
‪static string determineRemoteAddress(array $serverParams, array $configuration, bool $isBehindReverseProxy)
Definition: NormalizedParams.php:659
‪TYPO3\CMS\Core\Http\NormalizedParams\getScriptName
‪string getScriptName()
Definition: NormalizedParams.php:342
‪TYPO3\CMS\Core\Http\NormalizedParams\getRemoteHost
‪string getRemoteHost()
Definition: NormalizedParams.php:490
‪TYPO3\CMS\Core\Http\NormalizedParams\$httpHost
‪string $httpHost
Definition: NormalizedParams.php:43
‪TYPO3\CMS\Core\Http\NormalizedParams\determineSitePath
‪static string determineSitePath(string $requestHost, string $siteUrl)
Definition: NormalizedParams.php:777
‪TYPO3\CMS\Core\Http\NormalizedParams
Definition: NormalizedParams.php:32
‪TYPO3\CMS\Core\Http\NormalizedParams\$httpUserAgent
‪string $httpUserAgent
Definition: NormalizedParams.php:214
‪TYPO3\CMS\Core\Http
Definition: AbstractApplication.php:3
‪TYPO3\CMS\Core\Http\NormalizedParams\determineIsBehindReverseProxy
‪static bool determineIsBehindReverseProxy($serverParams, $configuration)
Definition: NormalizedParams.php:687
‪TYPO3\CMS\Core\Http\NormalizedParams\getHttpHost
‪string getHttpHost()
Definition: NormalizedParams.php:302