python – django ALLOWED_HOSTS不工作

我的settings.py文件包含:

DEBUG = False
ALLOWED_HOSTS = [u'mydomainxxx.com']

但是,我能够发出这样的卷曲请求:curl -X GET https://mydomainxxx.com/api/ -H’授权:令牌一些令牌’并且我得到了响应.

我希望使用ALLOWED_HOSTS会阻止像curl这样的命令从我的API获得响应.
这是正常行为吗?

最佳答案 您将
ALLOWED_HOSTS设置与其他内容混淆.它表示服务器将侦听的主机名;不是连接主机的主机名.没有内置的方法来阻止它,但您可以轻松编写中间件来检查连接主机名.

您当前的设置将阻止此响应:

curl -X GET http://another_domainxxx.com/api/ -H 'Authorization: Token some token' 

即使mydomainxxx.com和another_domainxxx.com都将解析为相同的IP地址.

点赞