Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用firebase隐藏第三方API密钥_Javascript_Firebase_Firebase Security - Fatal编程技术网

Javascript 使用firebase隐藏第三方API密钥

Javascript 使用firebase隐藏第三方API密钥,javascript,firebase,firebase-security,Javascript,Firebase,Firebase Security,我正在firebase建立一个网站。这是一个简单的查找服务,它只有一个向第三方api发出请求的输入元素 www.3rdparty.com/api/[myapikey]/method 问题是,我每秒只能处理x个请求,并且不能向用户公开我的api密钥 我的任务最终是将响应存储在firebase中,这样我就可以限制到达第三方的请求数量(缓存功能)将这样的API密钥放入应用程序的客户端代码中会引入恶意用户获取您的密钥并将其用于自己目的的风险。对此您无能为力,除了不将API密钥包含到客户端代码中。顺便说一

我正在firebase建立一个网站。这是一个简单的查找服务,它只有一个向第三方api发出请求的输入元素

www.3rdparty.com/api/[myapikey]/method

问题是,我每秒只能处理x个请求,并且不能向用户公开我的api密钥


我的任务最终是将响应存储在firebase中,这样我就可以限制到达第三方的请求数量(缓存功能)

将这样的API密钥放入应用程序的客户端代码中会引入恶意用户获取您的密钥并将其用于自己目的的风险。对此您无能为力,除了不将API密钥包含到客户端代码中。顺便说一句,这同样适用于Android和iOS代码

由于无法将API密钥放入客户端代码中,因此必须在服务器上运行它。这是在Firebase体系结构中使用服务器端代码的常见场景:代码需要访问一些普通客户端无法信任的信息。在我们的示例中,它包含在模式2中

从那篇博文:

这种体系结构的一个实例是客户端将服务器要处理的任务放入队列中。您可以让一个或多个服务器在资源可用时从队列中拾取项目,然后将结果放回Firebase数据库,以便客户端可以读取它们


我了解架构,但为什么Firebase建议在客户端上使用API凭据?如果您指的是API密钥,请参阅。