我想问一下,如果有可能,请阻止BAD用户对我的RESTful Web API进行多次查询。这是我的情况:
我的客户端应用程序对Web API进行查询。此查询包含产品的EAN代码。服务器回复产品参数和其他产品信息。现在,我想阻止的是,我的竞争对手(BAD用户)窃取我需要手动收集的宝贵数据。问题是,BAD用户拥有所有EAN代码的列表,并且可以执行自动查询以从我的API获取所有数据。
答案 0 :(得分:3)
限制它们以便它们每个ip /每分钟只能请求x次...可能是最终用户必须注册的身份验证令牌或API密钥。或者,如果你了解它们,你可以将它们的IP全部列入黑名单。
答案 1 :(得分:1)
让API用户自行注册并向所有人分发API密钥。如果您愿意,密钥可以是URL的一部分。这样,您可以跟踪哪些用户正在执行哪些操作,并根据需要设置使用限制。
答案 2 :(得分:0)
当然,您需要对API应用安全性。不允许匿名访问您的资源或API,并确保只有您的“好”客户端才有权调用它们。 HTTPS基本身份验证以及传输层的SSL加密可以解决问题,或者让它们在请求中指定一个秘密客户端密钥。