Tekil Mesaj gösterimi
Alt 17 Mart 2013, 17:47   #6
Çevrimdışı
JohnGalt
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick kasmayan tarama ve cs atma




Öncelikle bazı şeyleri açıklayayım;

Bir kanalın CS'sine erişimin varsa zaten kanalda DEOP da olsan OP da olsan /CS BAN komutunu kullanabilirsin. Ama /CS BAN komutu ile atılan banlarda IP mi, Ident mi gibi değişiklikleri yapabilmen için kanaldaki seviyenin en az SET komutuna erişimin olacak şekilde olması gerekiyor. Kaldı ki AKICK ekleyebiliyorsan SET komutuna erişimin de vardır muhtemelen. (Eğer ki BANTYPE değiştirilmemişse /CS BAN komutu IP adresine ban atacak şekilde ayarlıdır.)

Badnick koruması dediğimiz şey aslında IP adresine ban atılmaması gereken bir korumadır. Yani kişi nickini değiştirdiğinde kanala tekrar girebilmeli. O nedenle de /CS BAN komutu ile değil de /mode & /kick ile yapmak en iyi sonuç verir.

Diğer bir konu ise badnick listenin ne şekilde listelendiği; belirttiğin mrc uzantılı dosyanın içindeki badnick listesini paylaşabilirsen ya da en azından listenin formatını da paylaşırsan ona göre ayarlama yapabiliriz. Ben şimdilik listenin belirttiğin dosya yolunda ve içeriğinin şu şekilde olduğunu varsayarak kodu düzenledim;


bad1 bad2 bad3 bad4
bad5 bad6 bad7
bad7 bad8 bad9 bad10 bad11


Yani her satırda boşluk ile ayrılmış badnick çeşitleri. Bu nicklerin içinde bulunmasını istemediğin kelimeler direk olarak olmalı. Mesela ***** değil, *** şeklinde.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias tara { if !$1 { var %x = 1 | while $read($mircdir/system/badnick.mrc,%x) { set -u5 %bad $+(/,$chr(40),$replace($read($mircdir/system/badnick.mrc,%x),$chr(32),$chr(124)),$chr(41),/i) var %y = 1 | while $nick($active,%y) { if ($regex($nick($active,%y),%bad)) { if ($me isop $active) { mode $active +b $+(*,$regml(1),*) | kick $active $nick($active,%y) SEBEP } else { .cs akick $active add $+(*,$regml(1),*!*@*) SEBEP } } inc %y } inc %x $iif(%x > $lines($mircdir/system/badnick.mrc),.cs akick $active enforce) } } else { var %z = 1 | while $read($mircdir/system/badnick.mrc,%z) { set -u5 %bad $+(/,$chr(40),$replace($read($mircdir/system/badnick.mrc,%z),$chr(32),$chr(124)),$chr(41),/i) if ($regex($1,%bad)) { if ($me isop $2) { mode $2 +b $+(*,$regml(1),*) | kick $2 $1 SEBEP } else { .cs akick $2 add $+(*,$regml(1),*!*@*) SEBEP | .cs akick $2 enforce } } inc %z } } } on !*:join:#kanal1,#kanal2,#kanal3:{ tara $nick $chan }

Tarama yapmasını istediğin kanal geneline /tara yazarak tarama yaptırabilirsin. Eğer kanalda OP'san /mode & /kick uygular. Eğer DEOP'san da akick ekleyerek akickten attırır.

Girişlerinde tarama yaptırmak istediğin kanalları arttırabilirsin virgül ile. Eğer bulunduğun tüm kanallarda yapmasını istiyorsan da #kanal1,#kanal2,#kanal3 kısmını silip sadece # yazabilirsin.

Sonuç olarak; CS'den ban komutunu kullanmama sebebimiz /CS BAN komut işlevinde sadece nicke ban atma şansın yok, illa ki IP ya da ident ban oluyor. Nickban olması için mode kullanmalısın. Mode komutunu kullanmak için de kanalda OP konumunda olman ya da +o (oper) flagının olması gerekiyor.

Not: Korumayı 831 kişinin olduğu kanalda 38 badnick ile denedim ve herhangi bir *aşırı* kasılma ile karşılaşmadım.

Umarım aklındaki gibi bir korumadır ve işe yarar.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan