【问题标题】:Should I disable BroswableAPIRenderer for production environment?我应该为生产环境禁用 BroswableAPIRenderer 吗?
【发布时间】:2020-10-12 20:56:15
【问题描述】:

大家好,我正在将一个 django 项目部署到 AWS 上的 elastic-beanstalk,它目前运行良好,但是我想知道让 BrowsableAPIRenderer 能够处理我的浏览器上的请求是好是坏,我试图找到与它相关的任何东西,但如果没有的话,真的没有太多的文档。我的应用程序有一个非常严格的权限策略,即使我通过可浏览的 API 访问,它也会返回以下内容:

{
    "detail": "Authentication credentials were not provided."
}

但是它显示了一些关于端点的“信息”。正是在这部分,我发现我很难定义是否应该允许它,以便其他开发人员可以轻松了解正在发生的事情,或者另一方面,如果公众可以访问它是一个很大的风险。

【问题讨论】:

    标签: python django amazon-web-services django-rest-framework amazon-elastic-beanstalk


    【解决方案1】:

    您可能会发现this question 及其答案很有用。基于this answer,提供 BrowsableAPIRenderer 确实有助于开发:

    1. 它提供了简单的 UI 界面来与模型对象进行交互。
    2. 可以提供详细的调试信息。
    3. 可以在某些 API 根目录中显示 URL 列表

    根据您当前的设置,用户至少需要登录 DRF 登录页面或 Django ADMIN 页面才能查看您的 API 并与之交互。

    您可以在开发中启用 BrowsableAPI,但在生产设置中禁用它following this answer

    在生产中,我不希望其他具有写入权限的用户通过 BrowsableAPI 与 API 进行交互。它将强制其他用户使用前端应用程序或其他安全应用程序与 API 进行交互。这将提供一个安全层来禁止使用 BrowsableAPI 完成的描述性操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      相关资源
      最近更新 更多