在 TidHTTPServer 中阻止传入 IP
Block incoming IPs in TidHTTPServer
我想阻止某些客户端 "OnConnect" 访问我的服务器,但我不确定最好使用哪个事件以及如何找到远程 IP...
在您的应用代码中,使用 OnConnect
事件是最简单的选择。您可以从提供的 AContext
参数的 Binding.PeerIP
属性 中获取客户端的 IP,例如:
procedure TMyForm.IdHTTPServer1Connect(AContext: TIdContext);
begin
if (AContext.Binding.PeerIP is blacklisted) then
AContext.Connection.Disconnect; // or raise an Exception...
end;
但是,更好的选择是将您的服务器应用置于防火墙之后,该防火墙首先阻止所需 IP 的连接到达 TIdHTTPServer
。
我想阻止某些客户端 "OnConnect" 访问我的服务器,但我不确定最好使用哪个事件以及如何找到远程 IP...
在您的应用代码中,使用 OnConnect
事件是最简单的选择。您可以从提供的 AContext
参数的 Binding.PeerIP
属性 中获取客户端的 IP,例如:
procedure TMyForm.IdHTTPServer1Connect(AContext: TIdContext);
begin
if (AContext.Binding.PeerIP is blacklisted) then
AContext.Connection.Disconnect; // or raise an Exception...
end;
但是,更好的选择是将您的服务器应用置于防火墙之后,该防火墙首先阻止所需 IP 的连接到达 TIdHTTPServer
。