【问题标题】:Ways of handling API KEYs in React?在 React 中处理 API KEY 的方法?
【发布时间】:2020-09-24 22:38:57
【问题描述】:

阅读大量关于人们如何处理 api 密钥的帖子和文章。我认为有些人通过节点服务器获取 api 密钥是安全的,有些人将其存储在 .env 文件中。

我读过的帖子示例

  1. https://www.rockyourcode.com/secret-keys-in-react/
  2. https://github.com/react-boilerplate/react-boilerplate/issues/1744#issuecomment-303112505

我的情况

目前我将我的 API KEY 存储在 .env 文件中,因为我在 React 中丑化我的代码。即使通过 Inspect Element 也无法读取这些文件,但现在 我所有的 api 密钥都以可读格式公开

我的用例:

我的网站不需要登录,因此不需要身份验证。基本上它是用于 Firebase 分析的 API KEY。我认为在这里创建一个节点服务器来获取 api 密钥没有意义吗? (同样,我不需要身份验证)

如何更好地处理 API KEY?

【问题讨论】:

  • 感谢胡安分享链接。它有助于我理解公开配置不是安全风险(使用适当的安全规则),谢谢!就我而言,我不使用 CloudFirestore/CloudStorage/RealtimeDatabase.. 因此安全规则对我来说并不重要,我认为正如我所说的那样,我使用的是 firebase 分析。再次感谢! (:

标签: reactjs api-key owasp


【解决方案1】:

根据这篇文章,我不认为暴露 Firebase 密钥是一种安全威胁:https://medium.com/@paulbreslin/is-it-safe-to-expose-your-firebase-api-key-to-the-public-7e5bd01e637b

GCP 通常允许您restrict api keys by domain。这可能是保护您的配置并防止其他人将请求欺骗为您的项目的一种方法。

但是,在任何其他情况下,我都不会在客户端代码中公开 api 密钥,而是使用中间服务器或云功能来使用它。

【讨论】:

猜你喜欢
  • 2017-10-17
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 2011-07-27
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2016-07-21
相关资源
最近更新 更多