我尝试阻止通过 postman 或 insomnia 向我的应用程序发送发布请求的可能性。我想将请求的来源限制为一个域 www.sample.com。我确实将此域添加到了 ALLOWED_HOSTS 和 CORS_ORIGIN_WHITELIST,仅此而已,但我仍然可以发送请求并将数据保存在我的 django 应用程序中。
如何将请求的来源限制为一个域并阻止所有其他域或返回“Unauth msg”?
堆栈:DJANGO REST 框架
我可以添加支票:
if not request.headers.__contains__("Origin") or request.headers["Origin"] not in HOSTS:
但我可以使用关键 Origin 和域作为 postman 应用程序中的值填充自由字段
最佳答案
您无法阻止 HTTP 客户端设置 header 。如果您的 API 在互联网上可用,则可以向您发送任何 header 。 CORS(跨源资源共享)规则仅适用于 Web 浏览器。
关于django - 如何阻止来自 postman 、失眠等应用程序的请求并仅允许一个来源 - django Rest Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62266889/