diff --git a/config.default.ini.php b/config.default.ini.php index 17bfc70293f..2432d7849cf 100644 --- a/config.default.ini.php +++ b/config.default.ini.php @@ -75,8 +75,8 @@ username = "admin" -; This default password is public knowledge. Replace it. -password = "7afbf648a369b261" +; The password cannot be the empty string if authentication is enabled. +password = "" ; This will be used only for actions that require privileged access access_token = "" diff --git a/lib/AuthenticationMiddleware.php b/lib/AuthenticationMiddleware.php index 4c554a42a9d..c77e1b91f33 100644 --- a/lib/AuthenticationMiddleware.php +++ b/lib/AuthenticationMiddleware.php @@ -14,6 +14,13 @@ final class AuthenticationMiddleware { + public function __construct() + { + if (Configuration::getConfig('authentication', 'password') === '') { + throw new \Exception('The authentication password cannot be the empty string'); + } + } + public function __invoke(): void { $user = $_SERVER['PHP_AUTH_USER'] ?? null; diff --git a/lib/RssBridge.php b/lib/RssBridge.php index 7e79a423459..ce895bf2478 100644 --- a/lib/RssBridge.php +++ b/lib/RssBridge.php @@ -63,8 +63,8 @@ private function run($request): void // Consider: ini_set('error_reporting', E_ALL & ~E_DEPRECATED); date_default_timezone_set(Configuration::getConfig('system', 'timezone')); - $authenticationMiddleware = new AuthenticationMiddleware(); if (Configuration::getConfig('authentication', 'enable')) { + $authenticationMiddleware = new AuthenticationMiddleware(); $authenticationMiddleware(); }