From 31e191e162b0b6512a5fe36b7fd97da3e397c9ef Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 11 Jun 2018 10:45:36 +0200 Subject: [PATCH] middleware: collect IP adresses only for non-empty sessions (fixes #24419) --- src/authentic2/middleware.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/authentic2/middleware.py b/src/authentic2/middleware.py index b12a4c52..06ea4967 100644 --- a/src/authentic2/middleware.py +++ b/src/authentic2/middleware.py @@ -89,13 +89,18 @@ class LoggingCollectorMiddleware(object): request.exception = exception class CollectIPMiddleware(object): - def process_request(self, request): + def process_response(self, request, response): + # only collect IP if session is used + if request.session.is_empty(): + return response + ips = set(request.session.setdefault('ips', [])) ip = request.META.get('REMOTE_ADDR', None) if ip and ip not in ips: ips.add(ip) request.session['ips'] = list(ips) request.session.modified = True + return response class OpenedSessionCookieMiddleware(object): def process_response(self, request, response): -- 2.17.0