【问题标题】:Django getting lots of SuspiciousOperation: Invalid HTTP_HOST headerDjango 得到很多 SuspiciousOperation:无效的 HTTP_HOST 标头
【发布时间】:2013-09-10 20:16:13
【问题描述】:

我正在使用 Django 1.5、Apache、mod_wsgi 和 python 2.7,debian 托管在 linode 上。

自从我从 django 1.3 升级到 django 1.5 后,我开始收到一些错误消息,例如:“ERROR (EXTERNAL IP): Internal Server Error: /feed/”。有了这个回溯:

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): tadjenanet.montadamoslim.com

但是,几天前,这个错误的数量大大增加了,而且我的网站中甚至没有很多网址。

我在这里看到了答案 (Django's SuspiciousOperation Invalid HTTP_HOST header),我明白为什么会得到这个,但我需要知道如何避免这种情况,从而提高我的服务器安全性。

【问题讨论】:

    标签: python django apache debian linode


    【解决方案1】:

    基本上,您无法避免攻击者向您发送此类请求。大多数此类攻击来自自动渗透测试工具,如metasploitW3AF。幸运的是,这些尝试在 Django 1.5 或更高版本中无需担心。为了避免日志泛滥,您可以配置您的 Web 服务器以过滤与您的网站域不匹配的 HTTP_HOST 标头。对不起,我不能帮你用 Apache 做,如果用 Nginx,这篇文章可以帮助你http://www.acloudtree.com/how-to-deny-hosts-using-nginx/

    干杯!

    【讨论】:

      猜你喜欢
      • 2013-02-20
      • 2013-07-22
      • 2019-09-29
      • 2014-04-20
      • 2017-03-27
      • 2016-07-11
      • 2021-01-20
      • 1970-01-01
      相关资源
      最近更新 更多