【问题标题】:Easiest secure Android server backend最简单安全的 Android 服务器后端
【发布时间】:2011-09-08 14:49:47
【问题描述】:

我有一个 Android 游戏,我希望它针对服务器后端上的每个用户存储数据 - 例如高分。

这里列出了非常苛刻的要求!任何解决方案都不太可能满足所有这些需求,因此我已更改/优先考虑它们:

  1. 最少/非常简单的服务器和客户端代码
  2. 免费/便宜
  3. 自动扩展,无需/很少维护服务器
  4. 使用最少的代码尽可能安全
  5. 无缝 - 无需用户操作即可授权/选择任何内容

我知道 Parse,这似乎是最简单的选择,但我担心未来的成本,并且希望获得更多控制权,因此我想要一些替代方案。

AWS 似乎付出了很大的努力,尽管它相当容易和很好地处理安全匿名身份验证。

如果有一种无需用户登录或授权应用引擎的简单方法来保护请求,App Engine 将会非常棒。

所以...我想要 Parse 的无缝性、AWS 的安全性以及 App Engine 的自动缩放。还有 Parse 的易用性/编码。手指交叉。 :)

谢谢

【问题讨论】:

  • 2 在理论上是不可行的。 1、4 和 6 不啮合。 3 遇到了 Android 设备 ID 的问题(请参阅 stackoverflow.com/questions/2785485/… )。如果您想得到答案,请开始确定优先级。最好是每个人都能看到的地方。
  • 为反馈干杯,我开始怀疑 2 在理论上是不可能的 - 例如,从 APK 中撕下一个密钥很容易。我将按优先顺序编辑问题。
  • 您可以在 App Engine 上使用任何您想要的身份验证机制 - 而不仅仅是内置的用户 API。

标签: android google-app-engine amazon-web-services backend


【解决方案1】:

我的建议:使用 Parse,但在您的模型中创建足够的抽象/封装,以便将 Parse 换成另一个服务不会那么痛苦。但说真的,我不认为 Parse 会变得昂贵(甚至不是免费),直到您的应用程序看到非常高的需求。此外,Parse 人似乎非常致力于开放性:您可以将数据导出为 CSV,并且他们有一个 REST API,因此您编写的任何类型的程序都可以访问数据。

如果您决定自己动手,我建议您使用 Heroku 创建一个 Rails 后端。 Piggyback SSL 是免费的,HTTP Basic Auth 在 Rails 中非常简单,整个堆栈将与您想要使用的任何数据库很好地配合(我假设 NoSQL,因为您需要灵活性)。

【讨论】:

  • 感谢您的回复,我倾向于 Parse,易用性是一个巨大的吸引力,正如您所说,他们似乎接受了数据是我的原则。他们自动缩放。将其抽象出来将减轻锁定焦虑。打勾!
  • 谢谢!你真的会很高兴你使用 Parse。客户服务一流。
【解决方案2】:

任何支持 SSL 和数据库的 PaaS 都可以。估计您的流量、数据存储和处理需求,然后选择一个足够便宜的开始。 App Engine 即将结束 Beta 版,并且定价模式将发生变化,因此如果您想要自动扩缩,则必须为此付费。

究竟什么是“安全匿名身份验证”以及 AWS 如何支持它?

【讨论】:

  • 感谢您的回答 - 我如何确保对服务器的请求仅来自我的客户端?另请参阅此处重新 AWS:aws.amazon.com/articles/4611615499399490
  • 您需要在您的网络应用程序中构建某种身份验证。如果您使用 App Engine,您可以让人们使用他们的 Google 帐户进行身份验证。如果不是,您可以使用基本/摘要身份验证(通过 SSL)或自定义的东西。顺便说一句,AWS 身份验证用于使用 AWS API,您的应用程序很可能不需要这些 API。
  • App Engine 身份验证将是最后的手段 - 不要求用户显式进行身份验证将是理想的。假设我使用的是一些基本的 Web PaaS,通过 SSL 进行基本身份验证并将用户/密码存储在应用程序中是最简单/最好的方式吗?
  • 可能。但是你需要明确你到底需要什么。您需要对用户或设备进行身份验证吗?他们是否需要密码/访问代码才能登录您的服务器?你在存储什么数据?它有多敏感?如果有人试图劫持别人的数据怎么办?
  • 理想情况下,我希望用户(电子邮件/谷歌帐户)经过身份验证 - 没有密码。没有敏感数据,只有附加给用户的游戏数据。我希望(尽可能)防止人们直接更改自己的数据——即不通过客户端,并更改其他人的数据。重要的是,由于用户已登录到他们自己的设备并且我可以检索当前用户,因此我可以相当确定他们就是他们所说的人 - 从应用程序内部。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
相关资源
最近更新 更多