我目前正在开发一个使用Google的Blogger API的项目。前天(星期六)有人攻击了我的应用程序并抢走了API密钥,我每天访问帖子的限制是100,000(100K/24小时)。我在周六达到了限制(我怀疑这些是使用我的 API 密钥进行的欺诈性点击,因为我只有大约 4K 客户使用该应用程序,所以我在客户端代码中嵌入了 API 密钥)。
之后,在五分钟内再次达到 API 限制(24 小时后)5K。所以我删除了 API 密钥并生成了一个新密钥。
我的问题是,如何在客户端代码中保护我的新 API 密钥,以便没有攻击者可以访问 API 密钥或至少某种在客户端代码中间接使用 API 密钥的方法。
借助 Google API 控制台,您可以将 API 密钥绑定到应用的一组签名证书。
如果将 API 密钥限制为几个证书,则该 API 对攻击者应该毫无用处。(只要你对私钥保密。