是否可以阻止RESTful API中的批量查询?

时间:2011-05-10 18:41:06

标签: api rest

我想问一下,如果有可能,请阻止BAD用户对我的RESTful Web API进行多次查询。这是我的情况:

我的客户端应用程序对Web API进行查询。此查询包含产品的EAN代码。服务器回复产品参数和其他产品信息。现在,我想阻止的是,我的竞争对手(BAD用户)窃取我需要手动收集的宝贵数据。问题是,BAD用户拥有所有EAN代码的列表,并且可以执行自动查询以从我的API获取所有数据。

3 个答案:

答案 0 :(得分:3)

限制它们以便它们每个ip /每分钟只能请求x次...可能是最终用户必须注册的身份验证令牌或API密钥。或者,如果你了解它们,你可以将它们的IP全部列入黑名单。

答案 1 :(得分:1)

让API用户自行注册并向所有人分发API密钥。如果您愿意,密钥可以是URL的一部分。这样,您可以跟踪哪些用户正在执行哪些操作,并根据需要设置使用限制。

答案 2 :(得分:0)

当然,您需要对API应用安全性。不允许匿名访问您的资源或API,并确保只有您的“好”客户端才有权调用它们。 HTTPS基本身份验证以及传输层的SSL加密可以解决问题,或者让它们在请求中指定一个秘密客户端密钥。