1. 程式人生 > 實用技巧 >django中介軟體

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', # 註冊中介軟體類
# ]