【发布时间】:2021-12-07 23:05:36
【问题描述】:
所以我看了这个视频Youtube Tutorial
在此视频中,建议不要在 xcode plist 文件中包含 API 密钥。因此 Firebase 生成了一个 plist 文件供我们包含在我们的项目中,并且在该 plist 文件中是 API 密钥。有没有办法在不使用 plist 文件的情况下做到这一点,从而更安全?
【问题讨论】:
所以我看了这个视频Youtube Tutorial
在此视频中,建议不要在 xcode plist 文件中包含 API 密钥。因此 Firebase 生成了一个 plist 文件供我们包含在我们的项目中,并且在该 plist 文件中是 API 密钥。有没有办法在不使用 plist 文件的情况下做到这一点,从而更安全?
【问题讨论】:
您的应用的公共 API 密钥不是(也不应被视为)秘密,因为它们是您的应用向 Firebase 后端识别自身所必需的。 即使您将它们存储在其他地方,恶意行为者也可以通过其他方式提取它们。 由于应用程序的每个实例的 API 密钥都是相同的,因此只需一个不良行为者就可以发现和披露它。
Firebase 本身可能具有智能滥用检测功能,因此您无需过多担心 DoS 攻击或涉及您的 API 密钥的任何其他可能的攻击。 然而,如果你有一个面向公众的应用程序,你的应用程序的一些“滥用”根本无法阻止。 这取决于您的应用做什么以及您认为什么是“滥用”行为。
试图混淆您的 API 密钥只会给作为开发人员的您带来更多摩擦,并且不会在安全性方面为您赢得太多。 您应该将安全工作重点放在应用的其他部分。
重要提示:我说的是公共 API 密钥,而不是 Firebase 服务凭据等私钥。 这些确实是私有的,您永远不应该将它们包含在您的应用中(仅将它们存储在您的服务器上)。
【讨论】: