0
在TIdHTTPServer
組件中,我希望啓用黑名單IP地址阻塞。我想確保這是儘可能低的水平,以防止從黑名單客戶端流入任何不必要的數據。我應該如何攔截這個服務器組件來阻止可能的最低級別的IP?這適用於IP v4和v6如何在TIdHTTPServer上將IP列入黑名單
在TIdHTTPServer
組件中,我希望啓用黑名單IP地址阻塞。我想確保這是儘可能低的水平,以防止從黑名單客戶端流入任何不必要的數據。我應該如何攔截這個服務器組件來阻止可能的最低級別的IP?這適用於IP v4和v6如何在TIdHTTPServer上將IP列入黑名單
在Indy 9上,在實際接受連接之前發生拒絕連接的事件。在Indy 10上,它還沒有實施。
如果你看看IdCustomTCPServer.pas,在procedure TIdListenerThread.Run
有一個有關暴露事件給用戶讓他們決定是否應該接受連接的評論。
我會修改源代碼並在那裏實現它。
如果這不適合你,那麼你可以在OnConnect事件中斷開它們。
即使你這樣做了,阻止他們使用代理或不同的物理位置來規避IP禁止?沒有任何技術解決方案可以讓堅定的用戶離開。 – 2013-03-20 06:37:38
您可以在「OnBeforeConnect」事件處理程序中終止連接嘗試。不確定,但我想'Abort'應該這樣做。 – alzaimar 2013-03-20 07:31:38
@Mason誠然,但我仍然需要實施某種黑名單,並阻止任何形式的訪問。 – 2013-03-20 07:48:51