如何保护我的API服务免受api-keys盗版
问题描述:
我想用自己的简单服务推出自己的REST API。我希望有三个基本计划,在可用的需求/秒方面有所不同。如何保护我的API服务免受api-keys盗版
有没有简单的方法来防止密钥切换?假设有人购买了“企业”api-key并将其发送给其他人?现在其他人可以访问“企业”级功能,而无需真正为此服务付费。
当然我会实施某种限速,但这不是重点。我只是想让实际购买API密钥的人可以使用API。
在此先感谢!
答
无法仅使用API密钥来完成此操作。你可以尝试做某些事情,比如只接受来自特定IP地址的某些API密钥,但是存在一系列问题。唯一可行的方法是强制客户端进行身份验证。
您可以使用用户名/密码进行此操作,他们需要将这些信息发送给您进行验证,并且您可以检查该用户名是否有权访问计划/服务。您也可以通过相互认证的SSL来执行此操作,您可以向客户端颁发自签名客户端身份证书,并在他们连接到服务时使用它们进行身份验证,然后您可以查看该客户端是否可以访问计划/服务。请注意,无论是哪种情况,都需要实施SSL,因为您不希望用户名/密码通过标准HTTP。
+0
这就是我正在寻找的答案。谢谢! – Pono 2012-03-09 15:38:51
每个键只允许一个活动连接是一个选项? – honeyp0t 2012-03-09 12:51:34