Bu tür saldırıları önlemek için 2 yol var aslında.
Birincisi bir saniye belirlersin, o saniye içerisinde yine belirlediğin kadar nick sunucuya giriş yapmaya kalkarsa onların hepsini bir hash tablosuna yazdırır ve gline/zline
vb işlev ile sunucudan uzaklaştırırsın.
Eğer böyle birşey istiyorsan;
on *:snotice:*Client conn*: { if !$hget(ok) { hmake ok 100 } | else { hadd -mu
5 ok $9 | if $hget(ok,0).item >=
3 { var %1 = 1,%2 = $hget(ok,0).item | while %1 <= %2 { gline $hget(ok,%1).item sebebin. | inc %1 } } } }
Mesela bu kod sunucuya
5 saniye içerisinde,
3 kişi veya daha fazlası girerse hepsini birden sunucudan atıcaktır.
-
Senin dediğin şekilde'de yapılabilir, şöyleki;
Eğer sunucudan çıkış yapıldığında, "[No privileges]" şeklinde bir mesaj algılandığı anda, direk
IP adresine gline atılır.
on *:snotice:*Client exiting*: { if $gettok($1-,10-,32) == [No privileges] { gline $+(*@,$gettok($gettok($1-,2,64),1,41)) sebebin. } }