如何保护我的API服务免受api-keys盗版

时间:2012-03-09 11:58:55

标签: security api

我想用一个简单的服务来推广自己的REST API。我想有三个基本计划,这些计划在可用的req / sec方面会有所不同。

是否有一种简单的方法可以防止按键切换?假设有人购买了“企业”api-key并将其发送给其他人?现在,其他人可以访问“企业”级别的功能而无需实际支付此服务。

当然我会实施某种限速但这不是重点。我只想让实际购买API密钥的人可以使用API​​。

提前致谢!

1 个答案:

答案 0 :(得分:2)

仅使用API​​密钥无法执行此操作。您可以尝试执行某些操作,例如仅接受来自某些IP地址的某些API密钥,但是存在一系列问题。可靠地执行此操作的唯一方法是强制您的客户端进行身份验证。

您可以使用用户名/密码执行此操作,他们需要将这些信息发送给您进行验证,然后您可以检查该用户名是否可以访问计划/服务。您还可以使用经过相互身份验证的SSL执行此操作,您可以向客户端发出自签名客户端身份证书,并在他们连接到您的服务时使用它们进行身份验证,然后您可以执行查找以查看该客户端是否可以访问计划/服务。请注意,在任何一种情况下都需要实现SSL,因为您不希望用户名/密码通过标准HTTP。