主机名何时应该在ALLOWED_HOSTS中

时间:2016-11-08 23:43:28

标签: django hostname

我在使用除ALLOWED_HOSTS = []localhost以外的某个主机名时没有问题就离开了127.0.0.1,今天我遇到了这个错误: Invalid HTTP_HOST header要求我将主机名添加到ALLOWED_HOSTS,即使我从/etc/hosts注释掉了其他主机名。 我尝试了其他项目,它使用相同的设置。

为什么现在发生? ALLOWED_HOSTS有什么用?为什么以前没有填充它呢?

1 个答案:

答案 0 :(得分:2)

最近,Django released 1.10.3, 1.9.11 and 1.8.16解决了安全问题。

在这些版本发布之后,即使settings.ALLOWED_HOSTS,Django也会检查settings.DEBUG=True。这可以防止DNS重新绑定攻击。

如果ALLOWED_HOSTS为空,则Django将使用['localhost', '127.0.0.1', '::1']。但是,如果您使用任何其他主机,则现在需要将其添加到ALLOWED_HOSTS,即使DEBUGTrue