2013-03-20 48 views
0

TIdHTTPServer組件中,我希望啓用黑名單IP地址阻塞。我想確保這是儘可能低的水平,以防止從黑名單客戶端流入任何不必要的數據。我應該如何攔截這個服務器組件來阻止可能的最低級別的IP?這適用於IP v4和v6如何在TIdHTTPServer上將IP列入黑名單

+3

即使你這樣做了,阻止他們使用代理或不同的物理位置來規避IP禁止?沒有任何技術解決方案可以讓堅定的用戶離開。 – 2013-03-20 06:37:38

+2

您可以在「OnBeforeConnect」事件處理程序中終止連接嘗試。不確定,但我想'Abort'應該這樣做。 – alzaimar 2013-03-20 07:31:38

+0

@Mason誠然,但我仍然需要實施某種黑名單,並阻止任何形式的訪問。 – 2013-03-20 07:48:51

回答

6

在Indy 9上,在實際接受連接之前發生拒絕連接的事件。在Indy 10上,它還沒有實施。

如果你看看IdCustomTCPServer.pas,在procedure TIdListenerThread.Run有一個有關暴露事件給用戶讓他們決定是否應該接受連接的評論。

我會修改源代碼並在那裏實現它。

如果這不適合你,那麼你可以在OnConnect事件中斷開它們。

相關問題