From: Tim Düsterhus Date: Fri, 27 Aug 2021 12:56:17 +0000 (+0200) Subject: Add warning to IndexPage if HTTP_SEND_X_FRAME_OPTIONS is disabled X-Git-Tag: 5.5.0_Alpha_1~460^2 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2f0abf7f5c28ccd916d24b6d72c209f114b12f16;p=GitHub%2FWoltLab%2FWCF.git Add warning to IndexPage if HTTP_SEND_X_FRAME_OPTIONS is disabled --- diff --git a/wcfsetup/install/files/acp/templates/index.tpl b/wcfsetup/install/files/acp/templates/index.tpl index fd8b861160..04458b0622 100644 --- a/wcfsetup/install/files/acp/templates/index.tpl +++ b/wcfsetup/install/files/acp/templates/index.tpl @@ -19,6 +19,10 @@

{lang}wcf.acp.index.tmpBroken{/lang}

{/if} +{if !HTTP_SEND_X_FRAME_OPTIONS} +

{lang}wcf.acp.index.allowsFrameEmbedding{/lang}

+{/if} + {if $recaptchaWithoutKey}

{lang}wcf.acp.index.recaptchaWithoutKey{/lang}

{/if} diff --git a/wcfsetup/install/files/lib/acp/page/IndexPage.class.php b/wcfsetup/install/files/lib/acp/page/IndexPage.class.php index f4cca83e44..c603764486 100755 --- a/wcfsetup/install/files/lib/acp/page/IndexPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/IndexPage.class.php @@ -95,23 +95,31 @@ class IndexPage extends AbstractPage $usersAwaitingApproval = $statement->fetchSingleColumn(); } + $optionCategories = OptionCacheBuilder::getInstance()->getData([], 'categories'); $recaptchaWithoutKey = false; $recaptchaKeyLink = ''; if (CAPTCHA_TYPE == 'com.woltlab.wcf.recaptcha' && (!RECAPTCHA_PUBLICKEY || !RECAPTCHA_PRIVATEKEY)) { $recaptchaWithoutKey = true; - $optionCategories = OptionCacheBuilder::getInstance()->getData([], 'categories'); - $categorySecurity = $optionCategories['security']; $recaptchaKeyLink = LinkHandler::getInstance()->getLink( 'Option', [ - 'id' => $categorySecurity->categoryID, + 'id' => $optionCategories['security']->categoryID, 'optionName' => 'recaptcha_publickey', ], '#category_security.antispam' ); } + $xFrameOptionsLink = LinkHandler::getInstance()->getLink( + 'Option', + [ + 'id' => $optionCategories['general']->categoryID, + 'optionName' => 'http_send_x_frame_options', + ], + '#category_general.system' + ); + $evaluationExpired = $evaluationPending = []; foreach (ApplicationHandler::getInstance()->getApplications() as $application) { if ($application->isTainted) { @@ -177,6 +185,7 @@ class IndexPage extends AbstractPage WCF::getTPL()->assign([ 'recaptchaWithoutKey' => $recaptchaWithoutKey, 'recaptchaKeyLink' => $recaptchaKeyLink, + 'xFrameOptionsLink' => $xFrameOptionsLink, 'server' => $this->server, 'usersAwaitingApproval' => $usersAwaitingApproval, 'evaluationExpired' => $evaluationExpired, diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index cda8de6265..4f6871536a 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -967,6 +967,7 @@ ACHTUNG: Die oben genannten Meldungen sind stark gekürzt. Sie können Details z zu aktivieren.]]>
Für eine weitere Nutzung {if LANGUAGE_USE_INFORMAL_VARIANT}musst du{else}müssen Sie{/if} einen Schlüssel in den Optionen hinterlegen, unterhalb des Eingabefeldes befindet sich eine Anleitung zum Anfordern des Schlüssels.]]>
Liste der fehlenden Texte für weitere Informationen.]]> + Option zur Unterbindung der Einbindung von WoltLab Suite in einem Frame ist deaktiviert. Diese Option ist veraltet, wird in einer zukünftigen Version entfernt und die Einbindung generell unterbunden. Die Einbindung in einem Frame reduziert die Sicherheit, da Clickjacking-Angriffe ermöglicht werden. Darüber hinaus können bestimmte Sicherheitsmerkmale von Cookies in Frames nicht verwendet werden.]]> diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index f232c99218..522f21d4b5 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -945,6 +945,7 @@ ATTENTION: The messages listed above are greatly shortened. You can view details enabling it.]]>
For further use you need to provide a key in your options, please follow the instructions below the input field to obtain a key.]]>
list of missing phrases for more information.]]> + option to prevent embedding of WoltLab Suite within a frame is disabled. This option is deprecated, will be removed in a future version and embedding will be prevented in all cases. Allowing embedding reduces security by allowing Clickjacking attacks to happen. In addition certain security features for cookies are not available within frames.]]>