0

我以以下形式从 GAE 向 MongoLab 发送 HTTP 请求:

https://api.mongolab.com/api/1/databases/rival_testdb/collections/testCollection?apiKey=someKey

如果这个请求直接来自客户端,我会非常担心。但是由于这个请求来自 GAE 中的一个 servlet 内部,这是一个安全问题吗?如果可能的话,我怎样才能使它更安全?

如果可能的话,我想使用 MongoLab,但他们的 API 只允许将 API 密钥直接放在请求的 URL 中。因此,对于所有 API 请求,我都无法使用上述 URL。

4

2 回答 2

3

只要您可以保护服务器上的 API 密钥,您就应该很好。您不必担心它会在网络上被嗅探,因为所有通信都是通过 HTTPS 进行的,因此会加密请求字符串和 apiKey。

-将要

于 2013-02-16T04:57:24.083 回答
1

对于大多数公共服务来说,这是一个合理的问题。

专门针对 MongoLab,此讨论在此处进行:https: //support.mongolab.com/entries/20269612-REST-api-permissions-and-security-best-practice并且看起来不像它们的安全添加谈论已公开发布。

请查看链接。

话虽如此,我假设您访问 Mongolab API 的唯一方法是从您的 GAE 应用程序中?这至少让任何人都更难从您的应用程序中嗅出 url。

一个好的解决方案是 MongoLab 允许在您进行 REST 调用之前插入 HTTP 标头。在这里,您将有一些标识它是您的 GAE 应用程序的 ID。然后 MongoLab 应该在允许调用执行其工作之前对此进行检查。

于 2013-02-15T09:42:27.147 回答