我对编写应用程序非常陌生,所以请耐心等待:)
我正在编写一个 Android 应用程序,它与我的服务器通信以发送 GET 请求并从服务器获取一些数据并将其显示给客户端(Android 应用程序用户)。
API URL: http://myserver.com/get.php
获取数据/变量
- api:我的 api key
- 额外的 GET 变量
就像: http://myserver.com/get.php?api=XXXXXXXXXXXXXXXXXXX&extra=something&fields=here
那么攻击者可以通过使用 apktool、smali 等工具解码应用程序来查看 API key 吗?如果是,那么我该如何保护它?
最佳答案
注意:您将要阅读的答案是基于我的经验和研究,如果我的信息有误,请随时发表评论。我不是网络架构师,但我有一些构建网络服务
的经验,并进行了数小时的研究(因为就像你一样,我一开始也不了解安全性)。我希望这会对您有所帮助。
- 使用
POST
,如果使用REST
,它比GET
更安全。 - 使用
HTTPS
(我知道它有点贵) - 如果您确实需要良好的安全性(例如:银行应用程序),请使用
SOAP
,而不是REST
。 - 使用
Dexguard
/Proguard
这样您的应用就很难被逆向工程。
关于java - Android-安全的客户端服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804502/