回答
登錄用戶的憑據(如果他有向他們提供),或者他的IP地址,請求(可選),並在數據庫中的時間戳。
現在,對於每個請求,刪除時間戳超過一小時前的記錄,檢查該用戶的請求數仍在表中,如果超過了限制,請拒絕該請求。
簡單的解決方案,請記住,雖然可能會有更多的高性能解決方案。
非常直截了當。如果這不能解決您的問題,請提供更多詳細信息。例如,我不明白這是如何與codeigniter相關的。
感謝您的建議。我將CodeIgniter添加到標籤,因爲我在CodeIgniter框架之上構建它。 – 2010-11-08 20:01:39
你可以用我REST_Controller爲你基本上做到了這一切:
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
我最近在一些關鍵日誌添加,要求限制所以這個功能可以全部通過配置來完成。
謝謝菲爾。我正在使用您在此刻編寫的REST控制器進行一些修改。感謝開源代碼。 – 2010-11-08 20:05:26
您可以做的一件事就是考慮使用外部服務來強制實施API限制並提供一般的API管理功能。例如,我的公司WebServius(http://www.webservius.com)提供了一個位於API前面的圖層,可以提供每個用戶的限制(例如每小時API請求的請求),API範圍的限制(例如每個用戶的總請求數小時),自適應節流(API響應時間增加時節流限制減少)等,其他功能即將推出(例如基於IP地址的節流)。它還提供了用戶註冊/發佈API密鑰的頁面以及許多其他有用的功能。
當然,你也可能想看看我們的競爭對手,如Mashery或Apigee。
謝謝尤金。我確實嘗試過Webservius。用戶界面看起來很複雜,這讓我離開了。會再試一次。 – 2010-11-08 20:04:30
請隨時直接與我聯繫(eugene at webservius dot com),我會確保你將獲得儘可能多的幫助,使所有的工作都能正常工作。我對我們如何改進UI的反饋也很感興趣。 – 2010-11-08 20:56:26
- 1. 使用REST API構建Web應用程序
- 2. 從MVC Web應用程序調用REST API
- 3. 使用Axios在React JS web應用程序中調用Rest Api
- 4. 使用REST API的Facebook應用程序
- 5. REST api數據層的Web應用程序
- 6. REST API和Web應用程序之間的區別
- 7. 從另一個web應用程序調用rest api
- 8. SharePoint託管的應用程序REST API
- 9. 現有Rails應用程序的REST API
- 10. REST Api爲我的Qt應用程序
- 11. 用於在線搜索Android應用程序的REST,API和Php
- 12. 使用REST Web服務時的Web應用程序會話
- 13. Rest Webservice vs Web應用程序?
- 14. 將paypal的rest-api-sdk-php集成到Android應用程序
- 15. 如何實現Android應用程序的OAuth2和PHP Rest Api
- 16. Android Php web應用程序
- 17. PHP:驗證我的REST應用程序
- 18. Azure Web應用程序管理 - 通過REST的應用程序設置
- 19. 用於Web應用程序的Touchbar API
- 20. Web應用程序API的用例?
- 21. 使用PHP基於XML的Web API的iOS應用程序
- 22. Azure應用程序洞察REST API
- 23. AzureRM應用程序網關Rest API
- 24. Android應用程序與REST API連接
- 25. Android應用程序和REST API
- 26. 沒有API的Web應用程序的Android應用程序
- 27. 我應該爲AJAX Web應用程序元素構建一個REST api嗎?
- 28. PHP程序或Web應用程序
- 29. Spring Data Rest - 跨應用程序Rest Rest API
- 30. Rest Rest API調用ASP.NET Web API
什麼樣的限制? – 2010-11-06 09:34:22
限制,我的意思是每小時對特定用戶的請求數量。 – 2010-11-08 04:40:05