android - 限制对服务器后端的访问

标签 android ios security xamarin.ios xamarin.android

我正在 Monodroid/MonoTouch 上制作一个跨平台应用程序,我的应用程序应该与服务器端部分联系以从中获取数据。数据是敏感的,是应用的基础。

假设人们可以获得正确的请求语法,或者如果我使用 secret key 对我的查询进行编码,他们可以通过调试获得该 key ,我将如何保护它以限制其他人/应用程序对服务器端的使用。

最佳答案

您在数据传输中需要保密,例如使用 SSL/TLS,如 HTTPS,但仅此还不够。默认情况下,这意味着客户端可以确保它信任服务器,而不是服务器可以信任客户端(并且这不包括您的调试情况)。

因此您还需要身份验证。这与拥有 secret 几乎相同,只是它需要基于用户(或您信任的实体),而不是硬编码到应用程序本身(不可信)。

让用户注册并获取密码(或保存到设备存储的用户 token )是启动此操作的一种方法。它将保护您的数据不被其他人使用。

您可以通过创建某种用户/设备关联来增强此功能,以便用户 secret 无法在多个设备之间共享...这可能会限制使用替代方案(不受信任的)同一(可信)用户的应用程序,例如在不同的设备上。

关于android - 限制对服务器后端的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645888/

相关文章:

ios - 在 ios Swift 中获取所有联系人?

ios - AVCaptureSession 亮度

java - JAVA 中的 PKCS5 或基于密码的加密 (PBE)

security - 公开 GH_TOKEN 以与 electron-builder 一起用于发布/更新应用程序是否存在任何安全问题?

java - 后台蓝牙通信。线程、服务、IntentService、AsyncTask..?

android - 如何连续播放原始文件夹中的歌曲,并且不循环播放

ios - Swift 中的音频播放未恢复到原始音量

本地计算机上的 Java Applet 获得 AccessControlExceptions,这取决于代码路径

android - Android 中枚举的序列化问题

java - 如何针对 new Object { } 构造设置 proguard 设置?