1

这与此问题中提出的情况类似: 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 服务被锤击的任何担忧吗?

4

1 回答 1

1

我相信这个问题的答案是用户令牌和通过 SSL 加密消息的组合。

服务器可以向有效用户颁发令牌,以便我们可以在以后的请求中识别他。

通过 SSL 对其进行加密将确保无法嗅探此令牌。

https://security.stackexchange.com/questions/12531/ssl-with-get-and-post

于 2012-07-25T21:27:24.147 回答