java - Android-安全的客户端服务器通信

标签 java android sockets client-server

我对编写应用程序非常陌生,所以请耐心等待:)

我正在编写一个 Android 应用程序,它与我的服务器通信以发送 GET 请求并从服务器获取一些数据并将其显示给客户端(Android 应用程序用户)。

API URL: http://myserver.com/get.php

获取数据/变量

  1. api:我的 api key
  2. 额外的 GET 变量

就像: http://myserver.com/get.php?api=XXXXXXXXXXXXXXXXXXX&extra=something&fields=here

那么攻击者可以通过使用 apktool、smali 等工具解码应用程序来查看 API key 吗?如果是,那么我该如何保护它?

最佳答案

注意:您将要阅读的答案是基于我的经验和研究,如果我的信息有误,请随时发表评论。我不是网络架构师,但我有一些构建网络服务的经验,并进行了数小时的研究(因为就像你一样,我一开始也不了解安全性)。我希望这会对您有所帮助。

  1. 使用POST,如果使用REST,它比GET更安全。
  2. 使用HTTPS(我知道它有点贵)
  3. 如果您确实需要良好的安全性(例如:银行应用程序),请使用 SOAP,而不是 REST
  4. 使用 Dexguard/Proguard 这样您的应用就很难被逆向工程。

关于java - Android-安全的客户端服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804502/

相关文章:

c++ - 为什么会发生 "Address already in use"

android - 如何在 videoview android 中播放来自 youtube 源的视频

Android Assets ,如何从子文件夹中读取文件?

android - Dagger 2 跨模块依赖

java - 套接字 - SocketException : Socket Closed - Java

java - Netty - 如何在 DDOS 中生存?

Java float在修改对象位置时无法进行乘法、加法

java - JPA存储库: list of objects associated to @Entity is empty when Entity is returned using findAll()

java - 你能缓存 JNIEnv 吗?

java - 使用 dropbox java api 上传二进制文件