当前位置: 首页 > 知识库问答 >
问题:

在React中处理API键的方法?

邬阳
2023-03-14

阅读大量关于人们如何处理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键存储在.env文件中,因为我在React中的代码变丑了。即使通过Inspect元素,这些文件也是不可读的,但现在我的所有api键都以可读格式公开了。

我的用例:

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

如何更好地处理API密钥?

共有1个答案

夏和雅
2023-03-14

根据本文https://medium.com/@paulbreslin/is-it-safe-to-expose-your-firebase-api-key-to-the-public-7E5BD01E637B,我不认为公开Firebase密钥是一种安全威胁

GCP通常允许您按域限制api密钥。这也许是保护您的配置并防止其他人将请求作为您的项目进行欺骗的一种方法。

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

 类似资料:
  • 我正在做我的第一个react项目,我有一个问题。 使用,在react中处理和存储数据的最佳方法是什么? 我当前的工作流程: 在 将数据存储在(例如在中作为子对象` 使用控件的属性中的数据,如

  • 问题内容: 我现在正在做一些React,我想知道是否有一种“正确的”方式来进行条件样式设计。在本教程中,他们使用 我不想使用内联样式,因此我想使用一个类来控制条件样式。一个人将如何以React的思维方式来实现这一目标?还是应该只使用这种内联样式方式? 问题答案: 如果您更喜欢使用类名,请务必使用类名。 您可能还会发现类名称包很有用。有了它,您的代码将如下所示: 没有“正确”的方法来进行条件样式设计

  • 我目前正在开发JavaFX中的计算器,现在正在尝试实现键盘输入支持。 为此,我试图在主. java文件中实现一个EventHandler,如下所示: FXMLDocumentController。java: 现在的问题是,每当按下这些键时,都会发生与我在GUI中单击相应按钮时相同的事情。 所有数字按钮共享一个onAction事件, ,-,/,* 也共享一个,等等。它们都使用FXMLDocument

  • 我目前正试图把精力放在RxJava上,但我在以优雅的方式处理服务调用异常方面遇到了一点麻烦。 基本上,我有一个(改型)服务,它返回一个。的定义如下: 现在,我想要的是将该泛型响应映射到data JsonElement字段中包含的(我假设您不关心对象的外观,所以我不会用它污染文章)。下面的代码对于success案例非常有效,但是我找不到一个很好的方法来处理我的API异常: 有没有更好的办法做到这一点

  • 在React中处理滚动位置的正确方法是什么?我真的很喜欢平滑滚动,因为更好的用户体验。因为在React中操作DOM是一个反模式,所以我遇到了一个问题:如何平滑地滚动到某个位置/元素?我通常会更改元素的scrollTop值,但这是对DOM的操作,这是不允许的。 杰斯宾 代码: 如何以反应的方式实现这一点?

  • 我有一个React应用程序使用了两个第三方服务。应用程序是使用启动的。 这两个服务都需要API密钥。 一个键是通过脚本标记提供的,如下所示: 这就引出了我的第一个问题: 1.如何使用中的变量? 在我的文件中,我有两个如下所示的标记: 与此问题相关的是,将API密钥存储在常量中是否安全,就像我对所做的那样? 谷歌还表示: 不要将API键存储在应用程序源树中的文件中 说我照谷歌说的做 ...将它们存储