2011-08-16 134 views
0

最近,我正在观看谷歌I/O 2011的视频。在该部分会议中,发言者指出开发人员应该将API密钥(如谷歌地点等)保存在自己的服务器端比客户端和避免直接连接。听起来相当安全,但为了做这样的事情,开发人员需要他们自己的服务器端和Web服务,有时这是不可能的。现在,我更喜欢在客户端应用程序中使用API​​密钥的安全方法(可能是加密)?API密钥和安全

+0

为什么不能运行自己的代理服务?您可以以20美元/月的价格获得小型VPS。 –

+0

毫无疑问,使用代理或Web服务是实现它的最佳方法。它赋予开发者管理或跟踪其应用程序的权力,但一些开发者由于多种原因不遵循这种方法,我敢打赌有数百个应用程序没有遵循这个正确的方式 – arfo

+0

20美元一个月没有那么多,但如果你考虑在android上通过应用程序获利的方式,那么几乎没有人能够以这样的代价买得起这样的服务,并且希望能够出租... – Snicolas

回答

1

这真的取决于API,我想。我所使用的大多数API都利用应用程序Web服务器向API服务器的调用。所以在这种情况下,客户永远不会看到钥匙;它只是他们看到的返回内容。另一方面,如果它确实是一个API调用的客户端,那么加密它们的密钥真的没什么意义,因为在进行调用之前它必须被解密。在这种情况下,用户可以很容易地欺骗它。

+0

我明白你的意思了,但有些API给你提供了当你想从服务器发出请求(如谷歌的地方)时需要发布的密钥,以及如果你不想使用自己的服务来处理请求客户端应用程序和主服务器(这不是一个好方法),您必须将该密钥存储在应用程序的某处。然而,我认为黑客(!)访问您的密钥可能是一个问题,与应用程序的可靠性相比(如果密钥更改),但仍然可以考虑。 – arfo