回答

2

我很快瞥了一下代碼,它似乎並沒有做太多的事情。基本上它保留了IP的白名單和黑名單。雖然這不會是一個瘋狂的性能問題,但在使用Rack中間件進行這種請求分析之前,也許會更好,即使它進入Rails請求處理階段。

這就是說,我不喜歡它會重新同步處理給定的請求,每5分鐘處理一個事實DURING。也就是說,它將阻止當前請求,同時重新同步其規則集和列表。這意味着你受到Detrusion.com團隊的控制,以保持其網站/ API。所以,當他們下山時,你就下去了。

雖然它不是實時的,但我覺得讓更新過程脫離界限會更加舒適。也許你將規則/列表存儲在一個平面文件或本地數據庫(Redis將是完美的),你在應用程序啓動時加載。然後你有一個頻繁的cron,它從Detrusion重新加載規則集並在本地寫入。

就是這樣的。任何事情都可以從Detrusion API檢查中解除您的請求處理。

+0

你可以提供任何好的教程這個..我真的想知道更多的細節.. –