07 Şubat 2025, 15:10 | #1 | |
Çevrimdışı ~ i don't care if i'm misfit. ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Spamfilter Kullanımı / Detaylı Anlatım Konu: Spamfilter Tarih: 07.02.2025 Merhaba sevgili IF kullanıcıları, sizlere bu dersimizde anlatmak istediğim konu forumda geniş bir anlatımı olmayan ve hakkında oldukça az doküman bulunan '' Spam filter '' konusudur. Spam filter konusu, sunucu güvenlikleri için olmazsa olmaz niteliği taşıyan önemli bir konudur. Sunucu güvenliği departmanlarında görev alan her görevlinin hakkında mutlaka birşeyler bilmesi gerekir. Spam filter konusuyla ilgiliyseniz ve bu konuda işlemler yapmak istiyorsanız mutlaka '' Regular Expressions '' konusuna hakim olmalısınız. Regular Expressions parametreleri ve işleyişi spam ekleme veya silmede bize yön verir ama birebir aynı çalışmaz bazı durumlarda farklılıklar gösterebilirler aynı olduğu yanılgısı çok yaygındır ama maalesef değildir. Ben burada Regular Expressions ile ilgili bir anlatım yapmacağım belki küçük temaslar yapabilirim ama Spam filter konusunu işlerken sizlerin Regular Expressions hakim olduğunuzu düşünerek ilerleyeceğim. Kullanım; Kod: Kodu kopyalamak için üzerine çift tıklayın!
İlk olarak parametreler ( TİP ) durumlarından aşağıda bahsederek başlayacağım daha sonra örneklendirmelerle konuyu daha detaylandıracağız. Tip yani parametreler 'den önce add/dell gibi fonksiyonel durumların ne işe yaradığını zaten biliyoruz, silip eklemek için kullanılır. Paremetreler ( TİP ); c ›› Kanal mesajlarında işlem yaptırır p ›› Özel mesajlarda işlem yaptırır n ›› Özel notice mesajlarında işlem yaptırır N ›› Kanal notice mesajlarında işlem yaptırır p ›› Part Sebebinde işlem yaptırır q ›› Quit Sebebinde işlem yaptırır d ›› DCC Dosya adı gönderiminde işlem yaptır a ›› Away Mesajında işlem yaptırır t ›› Kanal topici mesajında işlem yaptır u ›› Nick!Identd@Host şeklinde kullanıcı üzerinde işlem yaptırır Bunlar spam filter kullanımında başlıca tip şekilleridir. Yukarıda bahsedilen bütün tip şekillerini kullanarak sunucu içerisinde bu parametrelerin belirlediği alanda kısıtlama yapmamıza olanak tanır. Spam filter komutumuzun devam eden özelliği ise '' eylem '' kısmıdır. Eylem kısmıda belirlediğim tip şeklinde hangi ceza-i işlemi uygalayacağını ( kısıtlama ) belirlediğimiz alandır. Aşağıda bunlara göz gezdirelim... Kill: Kullanıcı için kill uygulanır. TempShun: Kullanıcıya o anlık shun uygulanır. (Tekrar bağlandığında Shun kalkacaktır.) Shun: Kullanıcı için shun uygulanır. Kline: Kullanıcı için kline uygulanır. Gline: Kullanıcı için gline uygulanır. Zline: Kullanıcı için zline uygulanır. Gzline: Kullanıcı için gzline uygulanır. Block: Mesajın bloklanması sağlanır. DccBlock: Kullanıcının DCC gönderimi engellenir. Viruschan: Kullanıcının bütün kanallardan çıkarılması sağlanır. Farklı bir kanala giriş yaptırılır ve sadece kanal için msg/notice komutlarını kullanabilir. Warn: Spam filter engellemesi için, IRCop olan kullanıcıya bilgilendirme geçilir. Spam filter ile uygulanabilecek kısıtlama ( ceza ) yukarıda belirlenen konular içermektedir. Oldukca çeşitli bir kullanımı vardır ve yeterlidir. Komutun bütün halini anlattıkdan sonra hepsini örnekler vererek anlatacağım daha iyi anlamanız için merak etmeyin. Komutun eylemden sonraki devam eden kısmı süreleri içermektedir. Spam filter kullanımında süreli işlem yaptırmaya olanak tanır ama en yaygın hali '' - '' kullanmaktır. Eksi işareti sonsuz süreyi ifade eder yani süre belirtilmediğini - işareti olarak yaparız ve o spam filter kaldırılmadığı sürece /stats f de ekli olarak her seferinde işlemi sürdürmeye devam edecektir. Komutun süre kısmından sonra devam eden kısmı '' sebep '' kısmıdır. Bunun üzerinde çok fazla durmaya gerek yok işlemin neden uygulandığını ifade etmek içindir sadece boşluk kullanılmaz. Spam filter sebep girilirken özel karakterler kullanılır. Özel karakterler '' _ '' (alt tire ) '' / '' ( slash ) vb. kullanılmalıdır aksi takdir de sorun oluşacaktır. Spam filter kullanımında sebep kısmından sonra en önemli kısıma geldik aslında spamfilterin ana unsuru buradadır ve en önemli kısımda burasıdır diğer komut kullanımları genelde bilinen kalıplara sahiptir. Son kısımda yer alan kelime alanı işlemi kime, neye ve nasıl kısmını oluşturur olayın belirleyici kısmı burasıdır. Kııstlamak istiyen kanalda yazılan bir kelime ise kelimeyi bu kısma doğru parametreler kullanarak eklenmelidir. Bazı örnekler; Karşımızda şöyle bir işlem yapmamızı gerektiricek bir durum olsun. Sunucu içerisinde bulunan kanallarda '' Sunucu '' kelimesi yazılamasın yazılırsa engellensin ama başka bir işlem yapmasın ( Sunucu banı vb. ) sadece o kelimenin kanala düşmesi engellensin. Kod: Kodu kopyalamak için üzerine çift tıklayın!
==> Kelime kısmında c tipini ve eylem olarak block kullandığımız için kanalarda başlangıc veya boşluk verilip sunucu yazılırsa ve yazılan sunucu'dan sonra boşluk varsa veya cümle bitmişse blockla kanala yazıyı iletme dedik. Peki sorunumuz sunucu ismini sunucu değilde suuuunuuuucuuuuu veya su...nu..cu gibi değişik şekillerde yazıyor bunu nasıl engelleyeceğim? İşte tam da burada Regular Expressions bilginiz olması gerekiyor eğer bu bilgiye hakim değilseniz yapacaklarınız çok kısıtlıdır tıkanırsınız. Kod: Kodu kopyalamak için üzerine çift tıklayın!
===> Sorumuzun cevabı bu şekilde olacaktır. Burada ben \W kullandım bunun anlamı özel karakterlerdir. Spam filter içerisinde '' + '' işareti bir ve birden fazla harf anlamına gelir yani biz bu spamımızda dedikki sunucu, $unucu, sÛnucu, $Ûnûnû, sssssunucu, su......nucu gibi mesajları blockla engelle. Peki bunu hem özel hem kanal için nasıl yapabiliriz. Bunuda yapabilmek için c tipi kullandık hemen onun yanına p tipi kullanarak özel mesajlarıda içine dahil ediyoruz ve spamimız tamamen şu şekilde oluyor. Kod: Kodu kopyalamak için üzerine çift tıklayın!
Block değilde bu kelimeyi her yazan kişi direk sunucudan gzline olarak atılsın? Bu şekilde bir sorununun cevabıda eylem kısmındaki block yerini gzline olarak değiştirmektir. \W => Özel karakterleri ifade eder. \d => bütün sayısal değerleri ifade eder. \w => bütün kelime ve sayıyı ifade eder \s => Kelime içerisinde boşluğu ifade eder. \S => kelime içerisinde boşluk yoku ifade eder. $ => kelimenin bittiğini ifade eder * => Bir harfin ya hiç olmadığını yada birden fazla olduğunu ifade eder [^harf] => Spam filter içerisinde muaf almayı sağlar ( bunu aşağıda geniş olarak anlatıcam pek fazla bilinmeyen bir özellik) [harfharf2] => parantezin içerisindeki harfler varsa anlamına gelir (a|b) ile aynıdır. . => herhangi bir harf anlamına gelir ? => Kendisinden önce gelen harf oladabilir, olmayadabilir anlamına gelir. ^ => Başlangıcta yer alan anlamına gelir. Spam filter kullanırken başlıca lazım olan benim de en çok kullandığım operatörler bunlar çok detaylı girmeyeceğim çünkü konumuz regex eğitim konusu olacaktır. Daha detaylı bilgi almak istiyen kişiler Mirc scriptig bölümünde regex eğitim konularına bakabilir. Yukarıda bahsettiğim sunucu kelimesi yasaklamada kanal ve özelde nasıl işlem yapılacağını öğrendiğimizi düşünüyorum. Diğer bir konu spam filter için çok önem arz eden u tipinden bahsetmek istiyorum bu parametre bize sunucuda bulunan kullanıcılar üzerinde işlem yapmamıza olanak tanır ve doğru kullanımını bilen bir insan için oldukca önem arz eder. Peki bu u parametresi nasıl kullanılır. Bundan bahsedeyim örnek veriyorum sunucunuzda küfürlü nick alan bir kişi var veya bot saldırılarında proxy kullanarak yapılan amatör saldırılarda lamerler bunu çok yaygın yaparlar ama bazı ince detaylardan bahsetmeyeceğim onlara yardımcı olmuş olmamak için. Mylife_senin_blabla şeklinde bir saldırı alıyoruz bu şekilde sunucuya girişlerin olmasını istemiyorum? Kod: Kodu kopyalamak için üzerine çift tıklayın!
=> bu şekilde bir spam eklememiz bunun önüne geçecektir. Burada yaptığım olay u gzline kullanmak ve nick!ident@host:fullname kısmını doğru şekilde belirtmek oldu gzline olan kısmı block veya shun olarak da değiştirebilirsiniz bu tamamen sizin ne istediğinizle alakalı burada . ve * özel karakterlerini kullandık bunlar yukarıda bahsetttiğim herhangi bir harf ve hiç olmayadabilir çok fazlada olabilir anlamına gelir yani bunun anlamı Mylife nickinin başında veya sonunda herhangi bir karakter varsa gzline at diyoruz ama burada şu sıkıntı oluşacaktır + yerine * kullandığımız için Mylife da atılacaktır. Bunun olmasını istemiyorsak * yerine + kullanmalıyız bu koşul ile başında veya sonunda farklı karakter kesinlikle var diyoruz. Nicki sadece Mylife olarak yazmıyor Myyyyl_ifeeeeee gibi yazıyor bunu nasıl engelliyebilirim? Bu sorumuzun cevabı da aşağıdaki gibi olacaktır aslında burada + operatörü devreye giricektir bunu yukarıda öğrendik. Kod: Kodu kopyalamak için üzerine çift tıklayın!
=> Bu şekilde bir spam filter eklememiz yukarıda yapılan durumu engelleyecektir. Uygulanan olayı incelediğimizde u tipi block eylemi lamer sebebi ile nickin başlangıcında herhangi bir karakter oladabilir olmayadabilir Mylife nickinin aralarında özel karakterler olabilir olmayadabilir ama Mylife nickinden sonra kesin olarak başka bir karakter var diyerek bitiriyoruz. Burada ben yaygın olarak kullandığım \W operatörünü kullanırım ama bazı durumlarda [[:punct:]] da kullanmak gerekir bazı özel karakteri \W içermiyorken [[:punct:]] içeriyor veya bu durum tam tersi de olabiliyor bu yüzden önemli kritik durumlarda hiç bir açık kalmaması için ikisinide aynı anda kullanmak daha verimli olacaktır. Böyle durumlarda \W kullanırken [[:punct:]] neden kullanıyorsun gerek yok diyenler için hayır gerek var. Burada çok fazla görmediğim bir kullanımdan bahsedeceğim [^harf] bu operatör spamfilter için muaf olanağı tanır. Kasıtlı olarak sorduğum bir çok kişide spamfilter için muaf özelliği yok cevabı almış birisi olarak bu operatörün amacının çok fazla bilinmediği düşüncesindeyim. Kullanım; Kod: Kodu kopyalamak için üzerine çift tıklayın!
=> 123 muaf olarak kabul eder. Spam için tel no yasaklama gibi kısıtlamalarda benim kullandığım güzel bir operatördür. Spamfilter olayının mantığı bu şekildedir olay kavradığınızda biraz yaratıcılık ve birazda deneme ile daha iyi kavrayacaksınız. Konu altında bu tip sorunlarınız veya merak ettiğiniz durumları belirtebilirsiniz müsait oldukca geri dönüş yapacağımdan emin olabilirsiniz. İyi forumlar dilerim.
__________________ I'm a dreamer but it's getting hard to take it. Some nights don't know if i'm gonna make it. Heart is heavy but there's nothing that can break me down. Konu Mylife tarafından (07 Şubat 2025 Saat 15:19 ) değiştirilmiştir. | |
|
07 Şubat 2025, 15:17 | #2 |
Çevrimiçi pain changes people 💫
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Spamfilter Kullanımı / Detaylı Anlatım anlatım için emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] açık net olmuş.
__________________ It’s hard to beat a person who never gives up. |
|
07 Şubat 2025, 15:36 | #3 |
Çevrimiçi ~ My Life, My Rules! ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1) | Cevap: Spamfilter Kullanımı / Detaylı Anlatım Emeğine sağlık. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
__________________ TEKEL'inle tut beni. ALKOL'larina boğ beni.. |
|
07 Şubat 2025, 18:01 | #5 |
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Spamfilter Kullanımı / Detaylı Anlatım Emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] teşekkür ederiz
__________________ I suffered, I learned, I changed.. |
|
07 Şubat 2025, 18:03 | #6 |
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (-1) | Cevap: Spamfilter Kullanımı / Detaylı Anlatım emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] güzel anlatmışsın.
__________________ Sana bu satırı bir hastanenin morgundan yazıyorum. 'La vie en rose' çalıyor. Beni terk ettiğini hatırlıyorum, bütün cesetler yas tutuyor.. |
|
Etiketler |
irchelp, spamfilter, unreal, versiyon |
Konuyu Toplam 2 Üye okuyor. (0 Kayıtlı üye ve 2 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
İgnore Komutu Detaylı Anlatım.. | ÖzLem | Client | 1 | 14 Temmuz 2019 14:23 |
PMYO Ön Sağlık Aşaması - Detaylı Anlatım | CtrL | Sınavlar ve Hazırlık | 0 | 18 Şubat 2014 19:32 |
Adsense Çeki Bozdurmak Detaylı Anlatım | Tövbe]{aR | Google Admob ve Adsense | 0 | 22 Temmuz 2012 16:37 |
Phpmyadmin Detaylı Anlatım ( Resimli anlatım) | MorfiN | PHP | 1 | 27 Nisan 2012 20:20 |
Detaylı ( Inventory Expansion 3 ) Anlatım. | KarakıZ | Online Oyunlar | 0 | 26 Ocak 2012 13:40 |