2012-03-09 132 views
2

我想用自己的簡單服務推出自己的REST API。我希望有三個基本計劃,在可用的需求/秒方面有所不同。如何保護我的API服務免受api-keys盜版

有沒有簡單的方法來防止密鑰切換?假設有人購買了「企業」api-key並將其發送給其他人?現在其他人可以訪問「企業」級功能,而無需真正爲此服務付費。

當然我會實施某種限速,但這不是重點。我只是想讓實際購買API密鑰的人可以使用API​​。

在此先感謝!

+0

每個鍵只允許一個活動連接是一個選項? – honeyp0t 2012-03-09 12:51:34

回答

2

無法僅使用API​​密鑰來完成此操作。你可以嘗試做某些事情,比如只接受來自特定IP地址的某些API密鑰,但是存在一系列問題。唯一可行的方法是強制客戶端進行身份驗證。

您可以使用用戶名/密碼進行此操作,他們需要將這些信息發送給您進行驗證,並且您可以檢查該用戶名是否有權訪問計劃/服務。您也可以通過相互認證的SSL來執行此操作,您可以向客戶端頒發自簽名客戶端身份證書,並在他們連接到服務時使用它們進行身份驗證,然後您可以查看該客戶端是否可以訪問計劃/服務。請注意,無論是哪種情況,都需要實施SSL,因爲您不希望用戶名/密碼通過標準HTTP。

+0

這就是我正在尋找的答案。謝謝! – Pono 2012-03-09 15:38:51