可以防止RESTful API中的批量查询吗?
如果可能的话,我想问一下,如何防止坏用户对我的RESTfulWebAPI进行大量查询。以下是我的情况:可以防止RESTful API中的批量查询吗?,api,rest,Api,Rest,如果可能的话,我想问一下,如何防止坏用户对我的RESTfulWebAPI进行大量查询。以下是我的情况: 我的客户端应用程序对web API进行查询。此查询由产品的EAN代码组成。服务器回复产品参数和其他产品信息。现在,我试图阻止的是,我的竞争对手(坏用户)窃取我需要手动收集的宝贵数据。问题是,坏用户拥有所有EAN代码的列表,可以自动查询以从我的API获取所有数据 限制它们,使它们每ip/分钟只能请求x次…可能是通过最终用户必须注册的身份验证令牌或API密钥。或者,如果您认识他们,您可以将他们的I
我的客户端应用程序对web API进行查询。此查询由产品的EAN代码组成。服务器回复产品参数和其他产品信息。现在,我试图阻止的是,我的竞争对手(坏用户)窃取我需要手动收集的宝贵数据。问题是,坏用户拥有所有EAN代码的列表,可以自动查询以从我的API获取所有数据 限制它们,使它们每ip/分钟只能请求x次…可能是通过最终用户必须注册的身份验证令牌或API密钥。或者,如果您认识他们,您可以将他们的IP全部列入黑名单。限制他们,使他们每IP/分钟只能请求x次…可能是通过最终用户必须注册的身份验证令牌或API密钥。或者,如果你认识他们,你可以将他们的IP全部列入黑名单。让API用户注册自己,并向每个人分发API密钥。如果愿意,该键可以是URL的一部分。这样,您就可以跟踪哪些用户正在做什么,如果您愿意,还可以设置使用限制。让API用户注册自己,并向每个人分发API密钥。如果愿意,该键可以是URL的一部分。通过这种方式,您可以跟踪哪些用户正在做什么,如果您愿意,还可以设置使用限制。当然,您需要对API应用安全性。不要允许匿名访问您的资源或API,并确保只有您的“好”客户端才有权调用它们。HTTPS基本身份验证和传输层的SSL加密可以实现这一目的,或者让他们在请求中指定一个秘密客户端密钥。当然,您需要对API应用安全性。不要允许匿名访问您的资源或API,并确保只有您的“好”客户端才有权调用它们。HTTPS基本身份验证和传输层的SSL加密就可以做到这一点,或者让他们在请求中指定一个秘密客户机密钥。好吧,我当然考虑过这一点,但这不是解决方案。假设有几千件物品。如果我使用油门,它只会占用坏用户更多的时间,但仍然会得到所有的数据。不是几分钟之内,而是几天之内。将IP列入黑名单也是一个问题,因为他们肯定可以使用许多不同的IP:-(好吧,就像我补充的那样,您可以始终使用用户必须注册的身份验证令牌或API密钥。这样,您可以跟踪并确保只有信任的用户才能获得密钥。是的,我有一个条件,该用户需要注册。但是,他们是基于电子邮件地址注册的,因此对于不好的用户,注册也没有问题。我们LH:噢,我确实考虑过这个问题,但那不是解决办法。假设有几千个项目。如果我使用throttle,只会占用坏用户更多的时间,但仍然会获得所有的数据。不是几分钟,而是几天。将IP列入黑名单也是个问题,因为他们肯定会使用许多不同的IP:-(好吧,就像我补充的那样,你可以始终使用用户必须注册的身份验证令牌或API密钥。这样你可以跟踪并确保只有信任的用户才能获得密钥。是的,我有一个条件,该用户需要注册。但是,他们是根据电子邮件地址注册的,所以对于坏用户来说,注册也没有问题。BTW、 你的问题标题有点误导。你没有像阻止某些客户进行任何查询那样阻止批量查询,对吗?顺便说一句,你的问题标题有点误导。你没有像阻止某些客户进行任何查询那样阻止批量查询,对吗?