mirror of
https://github.com/Mistake35/Cedar-Django.git
synced 2026-07-18 00:21:14 +10:00
My pi server will not grab IPs otherwise.
This commit is contained in:
@@ -54,10 +54,10 @@ INSTALLED_APPS = [
|
|||||||
X_FRAME_OPTIONS='SAMEORIGIN'
|
X_FRAME_OPTIONS='SAMEORIGIN'
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
# Uncomment if you need HTTP_X_FORWARDED_FOR support
|
||||||
|
#'closedverse_main.middleware.ProxyMiddleware',
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
# use this middleware if you need x-forwarded-for support
|
|
||||||
#'xff.middleware.XForwardedForMiddleware',
|
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
|
|||||||
@@ -11,6 +11,32 @@ if settings.FORCE_LOGIN:
|
|||||||
if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
|
if hasattr(settings, 'LOGIN_EXEMPT_URLS'):
|
||||||
EXEMPT_URLS += [compile(expr) for expr in 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:
|
class CheckForBanMiddleware:
|
||||||
def __init__(self, get_response):
|
def __init__(self, get_response):
|
||||||
self.get_response = get_response
|
self.get_response = get_response
|
||||||
|
|||||||
Reference in New Issue
Block a user