android - 应用服务器通信协议(protocol)

标签 android security server google-cloud-messaging

我正在构建一个将连接到服务器的小型 Android 应用程序。

我的应用程序会使用简单的帖子向我的服务器发送消息,而我正在使用 Google Cloud Messaging 让服务器向我的应用程序发送消息。

我构建了一个注册页面、一个电子邮件确认和一个连接页面,但现在我想知道如何锁定服务器和应用程序之间的通信。

这是我想到的协议(protocol)(让我们以应用到应用消息的简单示例为例):

  • 应用将帖子信息与 self 信息(如名称和 auth_token)、目标用户和消息一起发送到服务器
  • 服务器搜索属于目标用户的应用程序并使用curl将消息转发给GCM
  • GCM 将消息发送到目标应用

服务器如何确定服务器收到的名称、auth_token 等确实来自发件人?

最佳答案

让服务器在客户端进行注册时生成身份验证 token 并将其发送回客户端。服务器现在知道 [client - token] 映射。

每次客户端要发送消息时,它还会发送服务器可以查找和检查的身份验证 token 。客户端甚至不必发送他或她的名字,服务器应该知道这一点。

要防止 MITM 攻击,请使用安全连接 (HTTPS)。

关于android - 应用服务器通信协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462678/

相关文章:

security - Paypal 购物车上传按钮安全吗?

security - Symfony 2 SecurityContext 类已弃用

php - 消除危险字符是否可以避免 SQL 注入(inject)?

java热点从服务器到客户端

android - 使用android连接到sql server时设置登录超时

Android fragment 及其对性能的影响

android - 如果应用程序被反编译,GoogleAuthUtils.getToken() 的安全性如何

android - 将位置对象从服务传递到 Activity 中的处理程序

Python 套接字服务器或带线程的套接字

php - Elasticsearch 报错 No alive nodes found in your cluster