mIRC Kanal Koruma Scripti: Flood ve Spam'e Karşı Önlemler
İçindekiler
Bir kanalı yönetiyorsanız flood saldırıları, reklam spam'i ve rahatsız edici davranışlarla uğraşmak zorunda kalırsınız. En güvenilir çözüm, kanalda sürekli bulunan bir bottur; ancak her zaman bot çalıştırma imkânı olmaz. Böyle durumlarda bir mIRC kanal koruma scripti, siz çevrimiçiyken kanalı koruyabilir. Bu rehberde bu tür bir scripti nasıl yazacağınızı ve en önemlisi yanlış pozitiflerden nasıl kaçınacağınızı anlatıyoruz.
Önce Doğru Araç
Script tabanlı koruma ile bot tabanlı koruma arasındaki farkı bilmek önemlidir:
| Özellik | mIRC scripti | Bot (Eggdrop vb.) |
|---|---|---|
| Çalışma süresi | Siz çevrimiçiyken | 7/24 |
| Op yetkisi | Sizin op olmanız gerekir | Botun op olması gerekir |
| Kurulum | Script yazmak yeterli | Sunucu ve kurulum gerekir |
| Güvenilirlik | Bağlantınıza bağlı | Sunucuya bağlı |
Kanalınız ciddi saldırılar alıyorsa bot şarttır; bkz. Eggdrop kanal koruması. mIRC scripti, bota ek bir katman olarak veya bot olmayan küçük kanallarda iyi bir çözümdür.
Ayrıca ChanServ'in sunduğu korumaları da ihmal etmeyin: Mod kilitleme, otomatik ban listesi ve op güvenliği ayarları, script yazmadan önce yapılması gereken ilk adımlardır. Bkz. ChanServ SET ayarları.
Mesaj Flood Tespiti
Temel fikir, her kullanıcının belirli bir süre içinde kaç mesaj gönderdiğini saymaktır:
on @*:TEXT:*:#: {
if ($nick isop $chan) { return }
if ($nick isvoice $chan) { return }
var %anahtar = $+($chan,.,$nick)
hinc -mu5 flood %anahtar 1
if ($hget(flood,%anahtar) >= 6) {
ban -ku120 $chan $nick 2 Flood
hdel flood %anahtar
}
}
Kodun önemli ayrıntıları:
- Olay tanımındaki
@işareti, kodun yalnızca siz kanalda op olduğunuzda çalışmasını sağlar. - Op ve voice sahipleri muaf tutulur.
hinckomutundaki süre parametresi, sayacın beş saniye sonra sıfırlanmasını sağlar.ban -ku120komutu, iki dakikalık ban koyup kullanıcıyı atar.
Hash tabloları için mIRC hash tabloları yazımıza bakın.
Eşikleri Doğru Ayarlamak
Flood tespitinin en kritik kısmı eşik değerleridir. Çok düşük bir eşik, hızlı yazan normal kullanıcıları cezalandırır; çok yüksek bir eşik ise saldırıyı yakalamaz.
Doğru eşiği bulmanın yolu, kanalınızın gerçek trafiğini gözlemlemektir. Canlı bir sohbetin olduğu kanalda birisi beş saniyede dört beş kısa mesaj gönderebilir; bu normaldir. Destek kanalında ise bir kullanıcının hata mesajını birkaç satır hâlinde yapıştırması olağandır.
Bu yüzden ilk aşamada ceza vermeyen, yalnızca size bildirim gösteren bir sürüm çalıştırmanızı öneririz. Birkaç gün gözlemledikten sonra gerçek verilere dayanarak eşikleri belirleyebilirsiniz.
Giriş Flood'u
Çok sayıda kullanıcının kısa sürede kanala girmesi, bot saldırısının klasik işaretidir:
on @*:JOIN:#: {
hinc -mu10 girisflood $chan 1
if ($hget(girisflood,$chan) >= 8) {
mode $chan +i
.timer 1 300 mode $chan -i
.notice $me $chan kanalinda giris flood tespit edildi, kanal kilitlendi.
hdel girisflood $chan
}
}
Bu kod, on saniyede sekizden fazla giriş olduğunda kanalı davetle giriş moduna alır ve beş dakika sonra açar. Kanalı kilitlemek, saldırı anında alınabilecek en etkili önlemdir çünkü yeni botların girmesini tamamen engeller.
Timer kullanımı için mIRC timer yazımıza bakın.
Tekrar Mesaj Kontrolü
Aynı mesajı art arda gönderen kullanıcılar, hem flood hem de spam göstergesidir:
on @*:TEXT:*:#: {
if ($nick isop $chan) || ($nick isvoice $chan) { return }
var %anahtar = $+($chan,.,$nick)
if ($hget(sonmesaj,%anahtar) == $1-) {
hinc -mu30 tekrar %anahtar 1
if ($hget(tekrar,%anahtar) >= 3) {
ban -ku300 $chan $nick 2 Tekrarlayan mesaj
}
}
else { hdel tekrar %anahtar }
hadd -mu60 sonmesaj %anahtar $1-
}
Bu yaklaşım, kullanıcının son mesajını saklayıp yeni mesajla karşılaştırır. Üç kez aynı mesaj geldiğinde önlem alınır.
Yasaklı Kelime Filtresi
Reklam ve rahatsız edici içeriği filtrelemek için bir kelime listesi tutabilirsiniz. Ancak bu konuda çok dikkatli olmak gerekir: Kaba bir filtre masum mesajları da yakalar.
Pratik öneriler:
- Tam kelime eşleştirmesi kullanın: Kelimenin içinde geçtiği başka kelimeleri yakalamamak için.
- Kısa kelimelerden kaçının: Üç harfli bir yasaklı kelime, onlarca masum kelimenin içinde geçebilir.
- Bağlantı kalıpları için regex kullanın: Reklam bağlantılarını yakalamak için joker karakterden daha güvenilirdir. Bkz. mIRC regex.
- İzinli alan adları tanımlayın: Kanalın kendi sitesi ve yaygın güvenilir siteler engellenmesin.
- Kademeli tepki verin: İlk ihlalde uyarı, tekrarında kick, ısrarında ban.
Kademeli Ceza Sistemi
Her ihlalde doğrudan ban koymak sert ve adaletsiz bir yaklaşımdır. Kademeli bir sistem hem daha adil hem de daha etkilidir:
- İlk ihlal: Notice ile uyarı.
- İkinci ihlal: Kanaldan atma.
- Üçüncü ihlal: Süreli ban.
- Israr: Uzun süreli ban veya kanal yönetimine bildirim.
Uyarı sayılarını bir hash tablosunda tutabilir ve belirli bir süre sonra sıfırlayabilirsiniz. Bu, bir kullanıcının aylar önceki ihlali yüzünden cezalandırılmasını önler.
Yanlış Pozitiflerden Kaçınmak
Bir koruma scriptinin en büyük riski, masum kullanıcıları cezalandırmaktır. Bu, kanalın itibarına doğrudan zarar verir. Önlemler:
- Op ve voice muafiyeti: Kanalın yerleşik üyelerini muaf tutun.
- Tanıdıklar listesi: Güvendiğiniz kullanıcıları ayrı bir listede tutup muaf tutun.
- Önce gözlem modu: Yeni bir kuralı önce ceza vermeyen modda çalıştırın.
- Log tutun: Hangi kuralın ne zaman tetiklendiğini kaydedin; yanlış pozitifleri sonradan inceleyin.
- Geri alma kolaylığı: Yanlış konan bir banı hızlıca kaldırmanızı sağlayan bir komut yazın.
- Kullanıcıya açıklama: Ceza mesajında sebebi belirtmek, kullanıcının ne yaptığını anlamasını sağlar.
Log tutmak için mIRC dosya işlemleri yazımıza bakın.
Ban Maskesi Seçimi
Ban koyarken maske seçimi önemlidir. Çok dar bir maske (yalnızca nick) kullanıcının nick değiştirip geri dönmesine izin verir; çok geniş bir maske (bütün sağlayıcı) masum kullanıcıları da etkiler. Kullanıcı ve host bilgisini içeren orta düzey maskeler genellikle en iyi dengedir. Maske türleri için IRC ban maskeleri yazımıza bakın.
Gerçek Bir Senaryo
Bir kanal yöneticisi, kanalında flood koruma scripti çalıştırıyor. Eşikleri çok düşük ayarladığı için kanalın en aktif üyelerinden biri, heyecanlı bir tartışma sırasında art arda kısa mesajlar yazdığı için banlanıyor. Üye rahatsız oluyor ve kanaldan ayrılıyor. Yönetici dersini alıyor: Eşikleri yükseltiyor, voice sahiplerini muaf tutuyor, kademeli ceza sistemi kuruyor ve her tetiklenmeyi bir log dosyasına kaydediyor. Bir ay sonra logları incelediğinde scriptin yalnızca gerçek saldırılarda devreye girdiğini görüyor.
Sonuç
Kanal koruma scripti güçlü bir araçtır ama dikkatli ayarlanması gerekir. Eşikleri kanalınızın gerçek trafiğine göre belirleyin, op ve voice sahiplerini muaf tutun, kademeli ceza uygulayın, her tetiklenmeyi loglayın ve yeni kuralları önce gözlem modunda deneyin. Kalıcı koruma için bir bot kullanmayı da değerlendirin. Mesajlarınızı biçimlendirmek için sıradaki rehberimiz mIRC renk kodları.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Kanal koruma scripti için op olmam gerekir mi?
Evet. Kick ve ban gibi işlemler için kanalda op yetkisine sahip olmanız gerekir.
Script mi bot mu kullanmalıyım?
Sürekli kanalda bulunan bir bot daha güvenilirdir. Script, siz çevrimiçi olduğunuzda çalışır.
Yanlış pozitifleri nasıl azaltırım?
Eşikleri gerçek kanal trafiğine göre ayarlayın, op ve voice sahiplerini muaf tutun ve kademeli ceza uygulayın.


