2024-09-30 01:35:23 发布
网友
我的设置.py文件包含:
DEBUG = False ALLOWED_HOSTS = [u'mydomainxxx.com']
无论如何,我可以像这样启动一个curl请求:curl -X GET https://mydomainxxx.com/api/ -H 'Authorization: Token some token'并得到响应。在
curl -X GET https://mydomainxxx.com/api/ -H 'Authorization: Token some token'
我希望使用ALLOWED_HOSTS可以防止像curl这样的命令从API获得响应。 这是正常行为吗?在
ALLOWED_HOSTS
对于任何想要过滤referer url而不是ip地址的人,我们可以使用以下中间件:
from django.conf import settings from django import http class AllowHostsMiddleware(object): def process_request(self, request): referer_url = request.META.get('HTTP_REFERER','') if referer_url.startswith(settings.ALLOWED_REFERER_URL): return None return http.HttpResponseForbidden('<h1>Forbidden</h1>')
您将^{}设置与其他设置混淆。它表示服务器将侦听的主机名,而不是连接主机的主机名。没有内置的方法来阻止它,但是您可以很容易地编写一个中间件来检查连接的主机名。在
当前设置将阻止此操作获得响应:
curl -X GET http://another_domainxxx.com/api/ -H 'Authorization: Token some token'
即使mydomainxxx.com和{}将解析为同一个IP地址。在
mydomainxxx.com
对于任何想要过滤referer url而不是ip地址的人,我们可以使用以下中间件:
您将^{} 设置与其他设置混淆。它表示服务器将侦听的主机名,而不是连接主机的主机名。没有内置的方法来阻止它,但是您可以很容易地编写一个中间件来检查连接的主机名。在
当前设置将阻止此操作获得响应:
即使}将解析为同一个IP地址。在
mydomainxxx.com
和{相关问题 更多 >
编程相关推荐