django - 保护 Django API 的最佳方法是什么?
问题描述
我已经部署了一个由 Django Rest Framework 提供支持的 Django API,其中一些开放端点和一些使用令牌身份验证的 Authenticated 端点。
保护入口 API 只允许从应用前端团队发送请求的最佳方法是什么?我正在考虑使用 Nginx 基本身份验证,但随后授权标头重复,因此令牌身份验证不起作用。
解决方案
如果前端团队使用静态地址(例如允许的主机),您可以通过过滤 IP 地址来过滤 API 中的访问。
此外,您可以将前端团队的用户添加到特定组中或提供相同的角色并通过实现可重用的自定义 DRF 权限来过滤访问。
另一个选项可能是使用自定义 HTTP 标头或 API 密钥(例如 X-API-KEY 标头)。
推荐阅读
- go - 当我的值是结构类型时,如何填充 map[string] interface{}?
- android - 如何查看交易是用测试账户购买还是用真实账户购买?
- kotlin - Kotlin 协程比线程花费更长的时间
- javascript - React.js 中的自定义标题
- php - 在 mysql 中更新或插入每个用户的信息
- eclipse-rcp - 如何从 RCP 中的 IStatusLineManager 获取消息?
- python - 当两个输入之间有空格时如何输入?
- python - Keras - 如何让每一层在训练中花费的时间?
- github - 如何使用 splunk 监控 GitHub Appliance 实例
- install4j - ModifyTextFileAction 找不到并替换值