Bu kodun yazılım amacı; CR2.1 sistemli bir serverde kanala saldırı yapıldıgı anda serverin bu saldırılara karşı etkili tek kanal kipi +R (yani registersiz nicklerin girişini durdurmak) , fakat saldırmakta inat eden kişiler nicklerini kayıt ederek kanala girebilmekte ve amacını gerçekleştirmektedir… Bu durumdaki zayıflıktan yola çıkarak, userlerin kanala girebilmeleri için nick kayıt tarihlerini kotrol ederek 1,2,3,4… gün önceden kayıt altına alınmış olması gerektigi şartını koyabiliriz…. Kodu load ettikten sonra gerekli ayarlamarı yapmak için /SpecifiC komutunu kullanabilirsiniz. ;##################################################### ;# +Ro $me ;# Code by SpecifiC ;# start /SpecifiC ;) ;##################################################### dialog regtime { title “RegTime” size -1 -1 115 42 option dbu list 1, 3 16 50 21, size box “”, 2, 0 -1 115 42 edit “”, 3, 3 6 50 10 edit “”, 4, 90 15 17 10 check “Korumayı aktif et”, 5, 58 5 53 10 text “Gün”, 6, 75 16 13 8 button “KaytEt”, 7, 78 28 30 10, OK button “+”, 8, 57 16 10 9 button “-”, 9, 57 27 10 9 } on *:dialog:regtime:*:*: { if $devent == sclick { ;###### DİKKAT BURADA (SA)MODE Kullanılıyor ;###### samode $did(3) +Ro $me ;###### op için üstteki kpd yerine ;###### cs op $did(3) $me ;###### yapılabilir :) if $did == 8 { if !$istok(%chans,$did(3),44) { set %chans $addtok(%chans,$did(3),44) | did -a $dname 1 $did(3) | sajoin $did(3) | samode $did(3) +Ro $me | did -r $dname 3 } } if $did == 9 { if $istok(%chans,$did(1).seltext,44) { set %chans $remtok(%chans,$did(1).seltext,44) | samode $did(1).seltext -Ro $me | did -d $dname 1 $did(1).sel } } if $did == 5 { if ($did(5).state == 1) { did -e $dname 4,6 | set %Spec on } | else { did -b $dname 4,6 | set %Spec off } } if $did == 7 { set %gun $did(4) } } if $devent == init { if %Spec == on { did -c $dname 5 | did -e $dname 4,6 } | else { did -b $dname 4,6 } did -a $dname 4 %gun var %n $numtok(%chans,44) while %n { did -a $dname 1 $gettok(%chans,%n,44) dec %n } } } alias specific { if !$dialog(regtime) { dialog -m regtime regtime } } alias infocek { if $hget(joinnick,1).item != $null { .set %aktifnick $hget(joinnick,1).item | .ns info $hget(joinnick,1).item | .hdel joinnick $hget(joinnick,1).item } } alias infocek2 { if $hget(joinnick,1).item == $null { .hadd -m joinnick $1 $2 | .set %aktifnick $1 | .ns info $1 } | else { .hadd -m joinnick $1 $2 } } ;Nick notice control on *:notice:*:?: { if $nick == NickServ && %Spec == on { if *Time registered :* iswm $1- { tarihbak $4 } | if *End of nick info* iswm $1- { .hdel joinnick %aktifnick | infocek } } } ;START HASH TABLE AND DAY(S) on *:start: { if $hget(joinnick) == $null { hmake joinnick 1000 } | if %gun == $null { set %gun 1 } } ;EVENT join/part on !*:join:$(%chans): { if %Spec == on { infocek2 $nick $chan } } on !*:part:$(%chans): { if $hget(joinnick,$nick) { .hdel joinnick $nick } } ;############################################ ;DATE Control ;############################################ alias tarihbak { var %t = $+($gettok($1,2,47),/,$gettok($1,1,47),/,$gettok($1,3,47)) if $ctime(%t) >= $calc($ctime – $calc(86400 * %gun)) { if $me isop $hget(joinnick,%aktifnick) { mode $hget(joinnick,%aktifnick) +bb %aktifnick $address(%aktifnick,2) kick $hget(joinnick,%aktifnick) %aktifnick Bu kanala girebilmek için rumuzunuzun %gun gün önceden kayıtlı olması gerekmektedir. } } } ;##### End code.
kelebek
kelebek script
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder