安全的客户端 - 服务器phonegap应用程序的体系结构

时间:2013-08-06 20:33:18

标签: security cordova client-server

我正在考虑一个phonegap游戏应用程序的架构,因为许多ditributed游戏应用程序将充当服务器的客户端。它需要用户名密码验证。我计划使用AJAX与我的服务器通信。但是,我有几个关于安全性的问题。他们在这里:

  1. 如何确保请求来自我的游戏,而不是其他任何人?例如,如何避免某人可以向我的游戏调用的服务器上的脚本发送POST请求?
  2. 如何保护数据传输?使用https(SSL)网址进行数据传输是否足够?
  3. 实施用户身份验证的最佳方法是什么?生成用于通信的令牌?还有别的吗?
  4. 谢谢!

1 个答案:

答案 0 :(得分:2)

  

1)我如何确保请求来自我的游戏,而不是其他任何人?例如,如何避免某人可以发送POST   请求我的游戏调用的服务器上的脚本?

不幸的是,你做不到。由于您无法控制客户端代码,因此无法确保没有其他人使用您的用户的登录凭据发出请求(假设有一些)。您可以通过要求他们进行身份验证来确保某些用户正在访问您的服务器。只要他们不妥协他们的凭据,那么你可以肯定。如果无法进行身份验证,请参阅this question for some ideas about making it harder (but not impossible) for someone to imitate your client

  

2)如何保护数据传输?使用https(SSL)网址进行数据传输是否足够?

是。使用HTTPS / SSL / TLS。这通过加密提供了机密性和完整性。

  

3)实施用户身份验证的最佳方法是什么?生成用于通信的令牌?还有别的吗?

令牌是一个不错的选择。见this question for some information about token implementation。这是一个RESTful服务,但基本方法是相同的。