django中间件

# 适用于django2.0以上版本
from django.http import HttpResponse
from django.utils.deprecation import MiddlewareMixin # django2.0


# 中间件类
class BlockedIPSmiddleware(MiddlewareMixin):
ON_IP=['127.0.0.1'] # 禁止IP
def process_view(self,request,view_func,*view_args,**view_kwargs):
"""视图调用之前会调用"""
# 客户端IP
user_ip = request.META['REMOTE_ADDR']
if user_ip in BlockedIPSmiddleware.ON_IP:
# ip在就禁止 不在就什么也不做
return HttpResponse("%s被禁止仿问"%user_ip)


# 写完之后要注册
# MIDDLEWARE = [
# 'django.middleware.security.SecurityMiddleware',
# 'django.contrib.sessions.middleware.SessionMiddleware',
# 'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.contrib.messages.middleware.MessageMiddleware',
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'blogtest.middleware.BlockedIPSmiddleware', # 注册中间件类
# ]
posted @ 2020-07-13 11:11  trysocket  阅读(147)  评论(0编辑  收藏  举报