相关疑难解决方法(0)

如何防止任意客户端应用程序使用您的匿名Web API?

如果已经被要求和回答,请道歉; 我环顾了一堆,但还没找到我正在问的问题.

-

  1. 假设我在http://example.com/上的网络应用程序使用http://api.example.com/上的私有和未记录的Web API 来获取数据,例如通过XHR或JSONP.

  2. 另外,假定这个Web应用程序是匿名的-它并没有要求用户登录.

  3. 由于客户端和服务器之间存在通信,任何人都可以打开Fiddler等来查看确切的请求和响应,更不用说检查客户端JS代码了.

在这种情况下,如何阻止某人在非Web客户端应用中使用您的API ?例如iPhone应用程序或服务器端.

根据我的理解,第2点删除了类似OAuth的选项,第3点删除了例如API密钥甚至SSL的选项.

我已经考虑过在第一次加载时注入页面的基于时间的令牌或秘密盐等内容,但iPhone应用程序可能很容易在发出API请求之前秘密加载您的网页.

那么除了简单的混淆之外还有什么方法 - 通过默默无闻的安全性?

-

如果所有这些都过于抽象,这里有一个简单的例子:

Google.com通过一些私有且未记录的API获取其自动完成数据 - 但在网络上打开.什么阻止我在我的iPhone应用程序中使用它?

security api web-applications

53
推荐指数
2
解决办法
2万
查看次数

标签 统计

api ×1

security ×1

web-applications ×1