0%

django获取请求进来的ip

django获取请求进来的IP

你可以创建一个中间件来检查请求的IP地址是否在白名单中。如果不在,就拒绝访问。

from django.http import HttpResponseForbidden  

class WhiteListMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# 这里设置你的白名单IP地址
self.white_list = ['127.0.0.1', '192.168.1.100']

def __call__(self, request):
if request.META['REMOTE_ADDR'] not in self.white_list:
return HttpResponseForbidden('Access Forbidden')
response = self.get_response(request)
return response

然后,在settings.py中添加这个中间件:

MIDDLEWARE = [  
# ... 其他中间件 ...
'path.to.your.WhiteListMiddleware', # 替换为中间件的实际路径
# ... 可能还有其他中间件 ...
]