2016-11-08 55 views
0

我曾經離開ALLOWED_HOSTS = []localhost127.0.0.1沒有問題的其他一些主機去的時候,今天我遇到了這個錯誤: Invalid HTTP_HOST header問我來添加主機名ALLOWED_HOSTS,甚至當我評論從/etc/hosts中刪除其他主機名。 我試過其他項目,它使用相同的設置。主機名當應在ALLOWED_HOSTS

爲什麼現在發生? ALLOWED_HOSTS有什麼用?爲什麼它沒有填充它之前工作?

回答

1

最近,Django released 1.10.3, 1.9.11 and 1.8.16解決安全問題。

繼這些版本之後,即使在settings.DEBUG=True時,Django也會檢查settings.ALLOWED_HOSTS。這可以防止DNS重新綁定攻擊。

如果ALLOWED_HOSTS爲空,那麼Django將使用['localhost', '127.0.0.1', '::1']。但是,如果您使用任何其他主機,則現在需要將其添加到ALLOWED_HOSTS,即使當DEBUGTrue