升级到Django 1.5后,我开始出现如下错误:

Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 92, in get_response
response = middleware_method(request)

File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 57, in process_request
host = request.get_host()

File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 72, in get_host
"Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)

SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): www.google.com

<WSGIRequest
path:/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{},
META:{'CONTENT_LENGTH': '',
'CONTENT_TYPE': '',
'DOCUMENT_ROOT': '/etc/nginx/html',
'HTTP_ACCEPT': 'text/html',
'HTTP_HOST': 'www.google.com',
'HTTP_PROXY_CONNECTION': 'close',
'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
'PATH_INFO': u'/',
'QUERY_STRING': '',
'REMOTE_ADDR': '210.245.91.104',
'REMOTE_PORT': '49347',
'REQUEST_METHOD': 'GET',
'REQUEST_URI': '/',
u'SCRIPT_NAME': u'',
'SERVER_NAME': 'www.derekkwok.net',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.0',
'uwsgi.node': 'derekkwok',
'uwsgi.version': '1.4.4',
'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0xb6d99c28>,
'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,
'wsgi.input': <uwsgi._Input object at 0x953e698>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>

我在settings.py文件中设置了ALLOWED_HOSTS = ['.derekkwok.net'].

这里发生什么事情?是不是有人冒充谷歌访问我的网站?或者这是某人错误设置HTTP_HOST标头的良性情况?

推荐答案

如果您的ALLOWED_HOSTS设置正确,则可能有人通过欺骗头部来探测您的站点的漏洞.

Django开发人员现在正在讨论将其从500个内部服务器错误更改为400个响应.见this ticket.

Django相关问答推荐

Django的update_or_create失败,尽管指定了kwargs'

如何在Django模板中获取组中对象的整体计数器(&Q;)?

当使用django-tinymce时,我在哪里指定referer?

如何连接到 docker 容器中的 postgres 数据库?

如何在 createsuperuser 中实例化表

是否有 django 模板过滤器来显示百分比?

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

在 django/python 上访问请求标头

模型 Django 中的 ID 字段

virtualenv(python3.4), pip install mysqlclient 错误

如何在 Django Rest Framework SimpleRouter 上使斜杠可选

django:TypeError:'tuple'对象不可调用

从表单获取模型实例而不保存

Django:何时使用 QuerySet 无

如何在 Django 中测试自定义模板标签?

如何在 Django 中触发 500 错误?

过滤 Django 数据库中包含数组中任何值的字段

ProgrammingError: 安装 Psycopg2 后,关系django_session不存在错误

Django:验证上传文件的文件类型

Django - 指定 Django 管理员应该使用哪个模型管理器