限制从特定客户端应用程序访问public-facing API



我今天意识到,有些用户通过脚本调用我的应用程序的端点。理想情况下,我想阻止他们这样做,但似乎没有任何绝对的方法

为了给你更多的上下文,我的应用程序是用React构建的,并通过RESTneneneba API与后端通信。要进行身份验证,用户需要发送电子邮件和密码以获得存储在cookie中的令牌。

你们中有人需要这样做吗?我想得太远了吗?可以使用哪些解决方案?

我做了一些研究,看看其他人是否也面临同样的问题,但我发现没有什么内容。对类似问题的回答清楚地表明,这是不可能的,但我想了解其他人对这个问题的经验。看看他们做了什么让从客户端应用程序之外调用公共API变得更困难。

您可以使用API网关,例如kong,。。。https://github.com/Kong/kong

或CORS处理API端点为REST API资源启用CORS

如果它是一个公共的API,您就不能做太多事情。您可以添加每分钟的操作呼叫限制、captchas等。如果你不希望它是公开的,那么消费者需要在每个请求中发送一个秘密,这必须在服务器端完成,否则用户会在浏览器中看到它。

相关内容

最新更新