我知道API密钥需要安全地存储,并且不应该被客户端访问。也就是说,我也知道很多Wordpress插件/自定义站点/之类的允许用户将API键复制粘贴到管理面板上的文本输入中。
我的问题是如何安全地做到这一点?他们会将其散列并保存到数据库中吗?
例如,我制作了一个react应用程序或wordpress插件,允许用户使用Google Maps API执行某些操作。我知道我可以去拿他们的API密钥,然后硬编码...但是,如果我想让用户自己更新密钥-推荐的步骤是什么?
谢谢!
发布于 2020-07-08 05:12:15
如果我理解正确的话,您希望您的应用程序处理第三方API的秘密。有点可怕,但是如果你得到了用户的同意--为什么不呢?首先要做的是--确保用户明白他在做什么。准确地指出您将如何处理API密钥,您将不会对API密钥执行哪些操作,以及如何保护它们。
就我个人而言,我永远不会想在我自己的数据库中存储这样的秘密,因为这将是一个单点故障。当你被黑的时候,每个人都被黑了。为什么不把这样的秘密放在-比方说-本地存储中,这样它就永远不会接触到你的服务器?
好的,如果是你的服务器需要做一些事情,你可以在请求中传递API密钥,做一些事情,但永远不会将秘密记录或永久存储在任何地方。
如果Java脚本足以完成这项工作,则本地存储是更好的解决方案。
人们可以考虑加密本地存储中的密钥,但我不相信这会大大提高安全性。我的意思是,这将是通过隐蔽的安全性,并可能被具有物理访问机器/浏览器/用户代理的人绕过。但如果有人有这样的访问权限,那么一些API密钥可能是较小的问题之一。
https://stackoverflow.com/questions/62782734
复制相似问题