summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad <brad.solomon.1124@gmail.com>2019-03-30 09:02:57 -0400
committerTim Graham <timograham@gmail.com>2019-03-30 09:02:57 -0400
commitad72895c60b4bc217fcd03108bed32587d561d0c (patch)
tree88cfcf408df8a16b4f170ddebf8b147f9c44cba9
parente8774a74ccb27d9e1e4694426b5cabec4682f683 (diff)
Optimized CommonMiddleware's check for DISALLOWED_USER_AGENTS.
Avoided getattribute + getitem for each DISALLOWED_USER_AGENTS.
-rw-r--r--django/middleware/common.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/middleware/common.py b/django/middleware/common.py
index a18fbe7b47..7e75e81303 100644
--- a/django/middleware/common.py
+++ b/django/middleware/common.py
@@ -38,9 +38,10 @@ class CommonMiddleware(MiddlewareMixin):
"""
# Check for denied User-Agents
- if 'HTTP_USER_AGENT' in request.META:
+ user_agent = request.META.get('HTTP_USER_AGENT')
+ if user_agent is not None:
for user_agent_regex in settings.DISALLOWED_USER_AGENTS:
- if user_agent_regex.search(request.META['HTTP_USER_AGENT']):
+ if user_agent_regex.search(user_agent):
raise PermissionDenied('Forbidden user agent')
# Check for a redirect based on settings.PREPEND_WWW