这与此问题中提出的情况类似: Javascript Calling a Rest API with App Name and App Password - How Can i Secure it
这是架构概述:
- 该网站是 Html5/jquerymobile
- 它联系我所谓的“包装器”服务......这是我用 C# 编写的 REST API,用于联系另一个第 3 方 REST API。我这样做是因为标头中有凭据,并且 API 使用基本身份验证。因此,凭据不会被公开,因为它们仅在服务器端是已知的。
- 我的“包装器”服务目前没有实现任何额外的安全性。它目前可以从任何地方访问。锁定它的最简单和最快的方法是通过 IP 进行限制,因此除了服务器之外的任何其他 IP 都无法真正联系我的包装服务。
问题:如果可以从任何地方访问,IP 锁定是否是确保 API 不会受到攻击的唯一方法?
如果我使用Phonegap(我已经......并在Android上成功部署)转换它,显然如果Web服务受到限制,本机应用程序将无法工作。
有没有办法解决这个问题,所以我只能允许来自移动应用程序的流量,而不是来自任何其他来源的流量?我正在考虑 MD5 哈希或可以发送到包装 API 的内容。但不幸的是,我认为信息很容易被“嗅探”。
我在这里唯一可行的选择是将应用程序作为 Web 应用程序发布,强制使用浏览器,从而消除对允许我的 Web 服务被锤击的任何担忧吗?