diff --git a/evibes/middleware.py b/evibes/middleware.py index 564e1de8..7daee35e 100644 --- a/evibes/middleware.py +++ b/evibes/middleware.py @@ -4,7 +4,7 @@ from os import getenv from constance import config from django.contrib.auth.models import AnonymousUser -from django.core.exceptions import DisallowedHost +from django.core.exceptions import BadRequest, DisallowedHost from django.http import HttpResponseForbidden from django.middleware.common import CommonMiddleware from django.middleware.locale import LocaleMiddleware @@ -68,6 +68,8 @@ class BlockInvalidHostMiddleware: def __call__(self, request): allowed_hosts = getenv("ALLOWED_HOSTS").split(" ") + if not hasattr(request, "META"): + return BadRequest("Invalid Request") if request.META.get("HTTP_HOST") not in allowed_hosts and "*" not in allowed_hosts: return HttpResponseForbidden("Invalid Host Header") return self.get_response(request)