在java servlet中,如何根據客戶端的IP地址來限制來自用戶的http請求?我不想每秒發送超過X個來自特定源IP地址的請求,其中X是可配置的,並具有[0.1; 10]範圍內(從10秒中的1次請求到每秒10次請求)。在Java Servlet中調節HTTP請求
7
A
回答
2
我會爲該任務寫一個過濾器。
3
使用Servlet過濾器:如果你在碼頭7.0或更高版本有this
2
正如@EJP表示,採用與存儲的IP地址關鍵的最後訪問時間HashMap中的過濾器。最少10次請求會在通話間翻譯爲100ms。發送服務器繁忙的錯誤代碼並殺死請求將迅速關閉連接使用的資源。如果這是您的選擇,那麼Apache有預先構建的解決方案。
1
檢查您使用的容器是否提供了這種拒絕服務。如果不是,那麼你將不得不使用過濾器。
ServletRequest.getRemoteHost()使您可以訪問客戶端IP。
4
在code.google.com上託管的owasp-esapi-java項目具有油門過濾器的實現,您可以「按原樣」使用或用作自己的靈感。
您可以通過以下鏈接查詢代碼:
相關問題
- 1. 在Java中調用Http請求
- 2. HTTP狀態404 servlet請求
- 3. HTTP請求如何在servlet中提供?
- 4. Java Servlet SOAP請求
- 5. servlet中的非http請求和響應
- 6. 如何發送HTTP請求到Servlet
- 7. 在節點Js中結束HTTP請求
- 8. HTTP狀態404 - 請求的資源不可用。在java servlet
- 9. 訪問Java servlet請求
- 10. REST請求到JAVA Servlet
- 11. 在http請求後調用
- 12. ECONNREFUSED,節點HTTP GET請求
- 13. runModalForWindow節流的HTTP請求
- 14. 轉換CURL請求HTTP請求的Java
- 15. 從ajax請求中訪問java servlet
- 16. 發送請求後中止Servlet調用
- 17. 在java中壓縮HTTP請求
- 18. 在java中等待異步http請求
- 19. 在java中創建HTTP GET請求?
- 20. 在java中接收POST HTTP請求
- 21. 在java中發送XML http請求
- 22. JSP/Servlet如何識別HTTP請求是否來自ajax請求
- 23. 在Chrome中調試http請求
- 24. http請求的HTTP請求
- 25. 檢查HTTP POST請求的內容類型到Java servlet
- 26. Java登錄Servlet獲取內部錯誤請求HTTP 500 java.lang.NullPointerException
- 27. 在Node.js中的單個HTTP請求中調用多個HTTP請求
- 28. 節點JS上的HTTP請求回調與節點JS
- 29. 如何在使用servlet時在HTTP請求中隱藏密碼
- 30. 請求和servlet