关于 Parse.com 客户端共享应用和 api 密钥

About Parse.com client side sharing app & api keys

我正在学习 parse.com 实现小型 html5 客户端。云服务提供开箱即用的方法来注册用户、创建条目等。

要么我遗漏了一两件事(我肯定会遗漏),要么在客户端同时公开应用程序和 api 密钥并非不安全。我习惯于使用实现 "max user operations /s" 或 "api abuses" 的 NodeJS 中继来代理对云服务的调用,例如 "prevent a user from calling 2000 times the "register user" 函数。

是否在 parse.com 服务中的任何地方实施了这种安全措施,我错过了...您对 api 对 public 开放的这些 api 的良好使用有何看法?

谢谢,

首先您需要假设任何用户都可以获得您的应用程序 ID 和客户端密钥。这在解析文档的 Security 部分中提到。您应该将业务逻辑隐藏在云代码中,这样您就可以在客户看不见的地方实施 checks/security。

另一件事是,一旦用户知道您的应用程序 ID 和客户端密钥,您就无法阻止他们点击您的 API。 影响 parse 设置的 API 限制。如果您有恶意用户,他们可以 "denial of service" 您的应用程序,除了更改您的密钥外,您无能为力。根据您设置一切的方式,这可能会影响客户。

一个潜在的解决方法是(正如您所提到的)在客户端和解析器之间放置一个瘦代理。您可以在代理中隐藏您的应用程序 ID 和客户端密钥,并在那里执行一些简单的检查以停止拒绝服务。