我正在爲我的網站開發API服務。我已閱讀了很多關於此主題的文章,但無法確定哪種最佳解決方案適合我。我需要保護我的API嗎?
我的API很簡單。每個用戶獲得一個API密鑰爲每個應用程序連接到我的網站。 只有2個不同的電話ATM:
- SEND_DATA
- GET_DATA
的GET_DATA安靜無害,與SEND_DATA你可以結束了新條目你的小應用程序。儘管呼叫受到限制,但可能會出現安全問題。如果這些數據落入了錯誤的手中,這些數據都不會有用。服務器端我保護的SQL注入等
電話是這樣的: http://example.com/api/?call=send_data&data=DATAXYZ&api_key=KEY
親:
- 這是超級好用
的CON:
- 這不是安全的
我在這裏和其他地方讀到了很多類似的問題,並且OAuth幾乎在所有這些問題上彈出來作爲可能的答案。我知道OAuth,我認爲這對於我想讓我的用戶很容易使用的東西來說是一個很大的開銷。
正如本文中解釋它並不總是需要使用授權: http://blog.apigee.com/detail/do_you_need_api_keys_api_identity_vs._authorization/
難道這一切真的爲我的情況太雖然還是你還會推薦認證有或沒有OAuth的?
感謝您的回答和建議!沒有得到?這太糟糕了。它使API調用對於不熟悉系統的用戶來說更加「複雜」。 這個想法是,我會有我自己的應用程序與API連接,但其他開發人員。也可以製作應用程序或腳本。所以我想沒有辦法避免HTTPS。 – bottleboot 2012-03-19 12:03:53
如果您只是想要控制每個用戶的近似請求數(正如您鏈接的文章指出的那樣),則通過普通HTTP發送GET請求是可以的。事情發生變化用戶可以提交內容。無論如何,我認爲發送POST請求並不比發送GET請求更困難,而且在提交數據時它的語義更準確。對於HTTPS,我不認爲,如果你是擔心被竊聽它是可以避免的,而且它並不需要專家來嗅探不安全或WEP保護WIFI;) – serans 2012-03-20 17:45:12
的幫助好的謝謝! – bottleboot 2012-03-25 21:05:39