增加了 IP 黑白名单功能(中间件)

This commit is contained in:
2026-06-18 22:25:21 +08:00
parent f169b6569a
commit b7f987f2c8
2 changed files with 164 additions and 0 deletions

View File

@@ -41,6 +41,7 @@ INSTALLED_APPS = [
]
MIDDLEWARE = [
'utils.ip_filter_middleware.IPFilterMiddleware',
'utils.debug_middleware.DebugExceptionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
@@ -209,6 +210,22 @@ CORS_ALLOW_HEADERS = [
"dnt", "origin", "user-agent", "x-csrftoken", "x-requested-with",
]
# ==================== IP 访问控制 ====================
# 访问模式:
# production — 生产模式(默认):放行所有 IP
# whitelist — 白名单模式:仅允许白名单内 IP 访问,其余返回 403
# blacklist — 黑名单模式:禁止黑名单内 IP 访问,其余放行
IP_ACCESS_MODE = 'whitelist'
# 白名单whitelist 模式下生效)— 支持单 IP 和 CIDR 网段
IP_WHITELIST = [
'111.32.64.171',
'43.142.0.208',
]
# 黑名单blacklist 模式下生效)— 支持单 IP 和 CIDR 网段
IP_BLACKLIST = []
# 免过滤路径(任何模式下都放行,如管理后台、健康检查)
IP_FILTER_EXEMPT_PATHS = []
# ==================== 腾讯云 COS ====================
COS_SECRET_ID = app_secrets.COS_SECRET_ID
COS_SECRET_KEY = app_secrets.COS_SECRET_KEY