gpt4 book ai didi

django - 如何禁用 Django 的无效 HTTP_HOST 错误?

转载 作者:行者123 更新时间:2023-11-28 19:34:32 27 4
gpt4 key购买 nike

自从我部署了一个运行 Django 1.7 alpha 的站点(从 Git check out )后,我偶尔会收到标题如下的错误消息:

"Invalid HTTP_HOST header: 'xxx.xxx.com'"

我意识到这是由于 Host: HTTP header 被设置为未在 ALLOWED_HOSTS 中列出的主机名所致.但是,我无法控制某人使用伪造的主机名向服务器发送请求的时间和频率。因此,我不需要一堆错误电子邮件让我知道其他人正试图做一些可疑的事情。

有什么方法可以禁用此错误消息吗?该项目的日志记录设置如下所示:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}

最佳答案

您不应该忽略此错误。相反,您应该在请求到达您的 Django 后端之前拒绝该请求。要拒绝没有设置 HOST 的请求,您可以使用

SetEnvIfNoCase Host .+ VALID_HOST
Order Deny,Allow
Deny from All
Allow from env=VALID_HOST

或强制匹配特定域 (example.com)

SetEnvIfNoCase Host example\.com VALID_HOST
Order Deny,Allow
Deny from All
Allow from env=VALID_HOST

关于django - 如何禁用 Django 的无效 HTTP_HOST 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com