My pi server will not grab IPs otherwise.

This commit is contained in:
some weird guy
2023-08-31 09:35:20 -07:00
parent 5619166794
commit a2e607fff3
2 changed files with 28 additions and 2 deletions
+26
View File
@@ -11,6 +11,32 @@ if settings.FORCE_LOGIN:
if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
EXEMPT_URLS += [compile(expr) for expr in settings.LOGIN_EXEMPT_URLS]
def get_client_ip(request):
try:
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for and ',' not in x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
# for Cloudflare
ip = request.META.get('HTTP_CF_CONNECTING_IP', ip)
except Exception:
ip = request.META.get('REMOTE_ADDR')
return ip
class ProxyMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
request.META['REMOTE_ADDR'] = get_client_ip(request)
response = self.get_response(request)
return response
class CheckForBanMiddleware:
def __init__(self, get_response):
self.get_response = get_response