我将构建一个跨平台应用程序(WP8,IOS,Android),这些应用程序将使用 我的服务器发出API请求。
我的服务器也会调用不同类型的API(google,facebook等)并返回一些结果。 并且应用程序所有者无需登录即可进行这些调用。
如果中间有人,他可以跟踪api呼叫,并将其用于自己的使用,以消耗我对我正在使用的api服务的配额。
我只想要有应用程序的电话能够拨打这些电话。 检测到我的服务器的api调用的最佳方法应该来自我的应用程序?
答案 0 :(得分:2)
您可以使用SSL来防止中间人攻击,但实际上并没有任何方式可以100%确定您正在与您的应用程序进行通信。您可以通过要求某种方式使其更难做到访问令牌或使用自定义加密,但如果有人可以反编译您的应用程序,他们可以做任何他们想做的事情。
答案 1 :(得分:1)
在您的特定情况下,您应该使用HTTPS,并且在客户端中,不仅要检查您是否使用HTTPS连接,还要确保服务器及其证书链所提供的证书是您期望的证书。 如果您没有这样做,您仍然可以执行MITM攻击。例如: