Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
我需要保护我的firebase服务器密钥吗?我可以将其存储在源代码中吗?或者有没有一种方法可以通过编程方式获取它?_Firebase_Flutter_Firebase Cloud Messaging - Fatal编程技术网

我需要保护我的firebase服务器密钥吗?我可以将其存储在源代码中吗?或者有没有一种方法可以通过编程方式获取它?

我需要保护我的firebase服务器密钥吗?我可以将其存储在源代码中吗?或者有没有一种方法可以通过编程方式获取它?,firebase,flutter,firebase-cloud-messaging,Firebase,Flutter,Firebase Cloud Messaging,现在,我的代码中硬编码了Firebase消息的服务器密钥 这是部署应用程序时的安全问题吗 我可以通过编程方式获得这把钥匙吗?是的,根据这位底层官员的说法,这是一个安全问题 重要提示:不要在客户端代码中的任何位置包含服务器密钥。此外,请确保仅使用服务器密钥来授权应用程序服务器。FCM拒绝Android、iOS和浏览器键 我不认为“以编程方式获取此密钥”是个好主意,因为您仍然将密钥下载到客户端,或者使用其他方式存储在客户端中。没有办法在apk中认真保护密钥。获取密钥非常容易,因此您有一个很大的安全问

现在,我的代码中硬编码了Firebase消息的服务器密钥

这是部署应用程序时的安全问题吗


我可以通过编程方式获得这把钥匙吗?

是的,根据这位底层官员的说法,这是一个安全问题

重要提示:不要在客户端代码中的任何位置包含服务器密钥。此外,请确保仅使用服务器密钥来授权应用程序服务器。FCM拒绝Android、iOS和浏览器键


我不认为“以编程方式获取此密钥”是个好主意,因为您仍然将密钥下载到客户端,或者使用其他方式存储在客户端中。

没有办法在apk中认真保护密钥。获取密钥非常容易,因此您有一个很大的安全问题,您糟糕的安全设计可能会产生不良后果,例如,请参见GDPR关于隐私的说明。删除密钥,如果可能的话进行更改,并实现一个服务器以与客户端通信并发送推送消息。

客户端代码中的硬代码?还是在服务器上?如果它在服务器上,就应该可以了。我现在没有服务器这确实是正确的:因为它的名称暗示FCM服务器密钥应该只在服务器上使用,或者在其他受信任的环境中使用。无论您在客户端如何使用它,只要您这样做,恶意用户就有可能获取密钥,并开始向您应用程序的用户发送消息。请看以下使用云函数设置无服务器后端以发送通知的示例: