我的 settings.py 文件包含:
DEBUG = False
ALLOWED_HOSTS = [u'mydomainxxx.com']
但是,我能够发出这样的 curl 请求:curl -X GET https://mydomainxxx.com/api/-H 'Authorization: Token some token'
并且正在获取响应。
我希望使用 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 地址。
关于python - django ALLOWED_HOSTS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600443/