From 040695757f53b3731fec406afb9d203dcd9f3910 Mon Sep 17 00:00:00 2001 From: Mathias Brodala <mbrodala@pagemachine.de> Date: Tue, 29 May 2018 16:17:23 +0200 Subject: [PATCH] [BUGFIX] Always prefer HTTPS for cross-domain links This expands the logic for forced absolute URLs to all cases and ensures HTTPS is kept for cross-domain links if possible. Resolves: #85111 Releases: master, 8.7 Change-Id: I7840a47d0ae9a3f9571ae8ddcf9cdc35b59cc4fa Reviewed-on: https://review.typo3.org/57082 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com> Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org> Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by: Joerg Boesche <typo3@joergboesche.de> Tested-by: Joerg Boesche <typo3@joergboesche.de> Reviewed-by: Tobi Kretschmann <tobi@tobishome.de> Tested-by: Tobi Kretschmann <tobi@tobishome.de> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de> Tested-by: Mathias Brodala <mbrodala@pagemachine.de> --- typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php b/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php index 8061c4b86c76..b173200e103e 100644 --- a/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php +++ b/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php @@ -161,14 +161,12 @@ class PageLinkBuilder extends AbstractTypolinkBuilder } unset($params); } - $absoluteUrlScheme = 'http'; + $absoluteUrlScheme = GeneralUtility::getIndpEnv('TYPO3_SSL') ? 'https' : 'http'; // URL shall be absolute: if (isset($conf['forceAbsoluteUrl']) && $conf['forceAbsoluteUrl']) { // Override scheme: if (isset($conf['forceAbsoluteUrl.']['scheme']) && $conf['forceAbsoluteUrl.']['scheme']) { $absoluteUrlScheme = $conf['forceAbsoluteUrl.']['scheme']; - } elseif (GeneralUtility::getIndpEnv('TYPO3_SSL')) { - $absoluteUrlScheme = 'https'; } // If no domain records are defined, use current domain: $currentUrlScheme = parse_url(GeneralUtility::getIndpEnv('TYPO3_REQUEST_URL'), PHP_URL_SCHEME); -- GitLab