我正在 Monodroid/MonoTouch 上制作一个跨平台应用程序,我的应用程序应该与服务器端部分联系以从中获取数据。数据是敏感数据,是应用的基础。
我将如何保护它以限制其他人/应用程序使用服务器端,假设人们可以获得正确的请求语法,或者如果我使用 key 对我的查询进行编码,他们可以通过调试获得该 key 。
您在数据传输中需要保密,例如使用 SSL/TLS,如 HTTPS,但仅此还不够。默认情况下,这意味着客户端可以确保它信任服务器,而不是服务器可以信任客户端(这不包括您的调试情况)。
因此,您还需要身份验证。这几乎与拥有 secret key 相同,只是它需要基于 user(或您信任的实体),而不是 硬编码 到应用程序本身(不可信)。
让用户注册并获取密码(或保存到设备存储中的用户 token )是开始此操作的一种方法。它将保护您免受其他人使用您的数据。
您可以通过创建某种用户/设备关联来增强这一点,这样 用户密码 就不能在多个设备之间共享...这可能会限制使用替代方案(不受信任)的可能性) 由同一(受信任的)用户申请,例如在不同的设备上。
关于android - 限制对服务器后端的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645888/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |