我的场景是,我有我想要保护的web API,但是我希望允许我自己的应用程序访问,这些应用程序可以运行在windows窗体/android/ios/etc中。被视为公共客户。
我使用标识服务器3 (Github链接)作为身份提供程序实现。
我最初的想法是生成一个客户端id +机密,并将其(以某种方式)放到所有客户端中,但这被认为是危险的,因为公共客户端不应该对其拥有秘密,因为只要或多或少地努力,您总是可以访问它。
那么,保护我的网络API的最好方法是什么呢?我控制了web,客户端和身份服务器,因为它们都是我的产品。
发布于 2016-05-06 16:22:56
限制API调用的速率。确保每个安装都有一个唯一的ID (参见UUID)。将每个UUID和IP对API的调用限制在严格的范围内。
但是要小心:有时,多个合法用户使用相同的IP地址。因此,您应该将限制设置为单个客户端消费的2-3倍。
https://security.stackexchange.com/questions/122483
复制相似问题