2014-04-01 67 views
4

比方說,我有一個Web服務器啓動並運行一個API端點(例如.../post),它允許用戶創建一些東西(並保存到數據庫中)。有人可能使用循環向該端點發送大量請求,數據庫最終會產生垃圾數據。如何防止(web)api端點上的過載/過度使用?

爲防止數據庫溢出,保護端點免受某人(黑客)過度使用/過載的最佳做法是什麼?

回答

1

我會推薦用戶或IP過濾。基本上,跟蹤每一個請求,如果有人超過一定數量,不要允許進一步的請求。

您可以通過跟蹤每個用戶或IP的請求數量來實現它,或者您可以使用一些已經構建的代碼,如Rack attack

0

一種方法是分發API密鑰,以便每個API用戶擁有自己的密鑰,以便像密碼一樣使用,當您發現某個密鑰被濫用時,您可以撤回之前的系統數據條目。如果您甚至在谷歌上搜索API安全性,那麼您可以獲得lots of useful links (like this one)