我正在构建搜索引擎应用程序。想想必应(Bing),但品牌不同。我有一个API,它只是一个允许我与Azure Cognitive Services进行通信的层,并且我有几个客户端。有SPA前端应用程序,Chrome和FF扩展程序,以及即将推出的简单移动应用程序。
如何限制漫游器滥用我的服务并产生大量账单的能力?
我一直在想:
基于IP的限制请求,但是普通用户已经可以在短时间内生成大量请求,因此每个IP的时间限制足够高,因此使用luminati.io之类的服务可以访问几乎无限量的唯一IP
缓存请求。听起来很有希望,但是...如何做到这一点,这样我就不会弄乱个性化结果(针对每个clientId)?
一些第三方智能解决方案,可以同时分析许多因素并自动检测机器人流量