fix: harden mx helper and cleanup flow
This commit is contained in:
@@ -105,6 +105,16 @@ final class Settings
|
||||
return rtrim($this->getString('MAIL_LOGIN_TARGET_BASE_URL'), '/');
|
||||
}
|
||||
|
||||
public function defaultEnable(): bool
|
||||
{
|
||||
return in_array(strtolower($this->getString('DEFAULT_ENABLE', 'true')), ['1', 'true', 'yes', 'on'], true);
|
||||
}
|
||||
|
||||
public function method(): string
|
||||
{
|
||||
return $this->getString('MAIL_LOGIN_METHOD', 'login_url');
|
||||
}
|
||||
|
||||
public function redirectUrl(): string
|
||||
{
|
||||
return $this->getString('MAIL_LOGIN_REDIRECT_URL', '/');
|
||||
@@ -229,6 +239,12 @@ final class Settings
|
||||
if (!in_array($this->getString('USER_IP_BOUND', ''), ['0', '1'], true)) {
|
||||
throw new InvalidArgumentException('USER_IP_BOUND must be 0 or 1');
|
||||
}
|
||||
if (!in_array(strtolower($this->getString('DEFAULT_ENABLE', 'true')), ['0', '1', 'true', 'false', 'yes', 'no', 'on', 'off'], true)) {
|
||||
throw new InvalidArgumentException('DEFAULT_ENABLE must be a boolean value');
|
||||
}
|
||||
if ($this->method() !== 'login_url') {
|
||||
throw new InvalidArgumentException('MAIL_LOGIN_METHOD must be login_url');
|
||||
}
|
||||
if (!in_array($this->clientIpMode(), ['direct', 'trusted_proxy'], true)) {
|
||||
throw new InvalidArgumentException('MAIL_LOGIN_CLIENT_IP_MODE must be direct or trusted_proxy');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user