diff --git a/src/Appwrite/Network/Validator/Origin.php b/src/Appwrite/Network/Validator/Origin.php index 3ea11bb764..21563a9a15 100644 --- a/src/Appwrite/Network/Validator/Origin.php +++ b/src/Appwrite/Network/Validator/Origin.php @@ -40,14 +40,16 @@ class Origin extends Validator } $this->scheme = $this->parseScheme($origin); - $this->host = strtolower(parse_url($origin, PHP_URL_HOST)); - - if (!empty($this->scheme) && !in_array($this->scheme, $this->schemes, true)) { - return false; - } + $this->host = strtolower(parse_url($origin, PHP_URL_HOST) ?? ''); $validator = new Hostname($this->hostnames); - return $validator->isValid($this->host); + if (in_array($this->scheme, ['http', 'https']) && $validator->isValid($this->host)) { // Valid HTTP/HTTPS origin + return true; + } if (!empty($this->scheme) && in_array($this->scheme, $this->schemes, true)) { // Valid scheme-based origin + return true; + } + + return false; } /**