delphi服务器端如何防止DDOS


本文整理自网络,侵删。

 delphi服务器端如何防止DDOS 
前面说到DSServer的OnConnect是socket已经完全搭好client都调用connect的服务器方法了才触发的,如果我们到这里才来想起拒绝不合法的ip连接,已经挺晚了:socket已经连接好了,都已经创建线程开始通讯了。
 
怎么做才能在最开始的socket握手里,就让捣蛋鬼死在萌芽中呢。
 
要解决这个问题,当然得从TDSTCPServerTransport下手,因为ServerTransport才是真正负责通讯的,可以在它的OnConnect事件下手
 
 procedure TServerContainer1.DSTCPServerTransport1Connect(   Event: TDSTCPConnectEventObject);
 
var  conn: TIdTCPConnection;
 
begin 
 
conn := Event.Connection as TIdTCPConnection;  
 
LogInfo('From ' + conn.Socket.Binding.PeerIP + '(' + IntToStr(conn.Socket.Binding.PeerPort) + ')');
 
 end;
 
在这里,就能得到连接上来的IP了,在blacklist里的ip,就可以直接  conn.Disconnect。当然,由于indy的架构,线程也是已经创建了的,要真正解决DDOS,下回再重述一下Indy架构来看看如何下手。

相关阅读 >>

Delphi 获取汉字拼音首字母

Delphi 主程序装载脚本

Delphi使用spcomm没办法触发receivedata

Delphi跨平台tcp库的封装

简单的rs232c/ttl电平转换和串口取电

Delphi中读取硬盘的物理序列号

Delphi xe 获取 android application version 版本

Delphi通过idsmtp发送邮件的简单代码

Delphi adoquery1 update更新数据

Delphi 通过u盘方式加密

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...