mIRCForumlari.Net

mIRCForumlari.Net (https://www.mircforumlari.net/)
-   Unreal Hazır Kodlar (https://www.mircforumlari.net/unreal-hazir-kodlar/)
-   -   Spamfilter nedir , nasıl kullanılır , amacı nedir ? (https://www.mircforumlari.net/unreal-hazir-kodlar/251-spamfilter-nedir-nasil-kullanilir-amaci-nedir.html)

RahmetLi 15 Aralık 2022 01:26

Spamfilter nedir , nasıl kullanılır , amacı nedir ?
 
\ : Bir liste içindeki \ kendinden sonra gelen karakteri önceler (karakter bir özel karakterse onu sıradan bir karakter yapar)

Soru:'' Se*lam'' yazısını yasaklıyacak olursak bunu : se\*lam olarak '' * '' karakterini garantilemiş oluruz.
Halbu ki , yıldız sembolu aradaki butun herseyı kapsar manasına gelir,düz eklenirse ;
Örnek : se*an < olarak eklediğimizi düşünürsek :
Sonuç : serkan > '' rk '' olan kısmı kapsadığından spam olarak algılar ve engeller. bunun için yukardaki ornekte ,
\* katıyoruz ki ; O yıldız sadece yıldız anlamını tasısın diğe garantişlemiş olduk.

Anlatım:
+ : Bir veya daha fazlası ile eşleşme işlecini temsil eder.

Soru : Selllaaamm < yazısını yasaklıcak olursak bunu: sel+a+m+ < bu işlemi yapmamız yeterli olacaktır.
burda denilen şudur ki ; ( + ) artı , neyin önüne geliyorsa , çoğaltıcı sıfatını taşır lakin, '' KARAKTER'' vazfı bu çoğaltıcı manasında taşımaz ( değişkenlik gösterir )

Anlatım:

? : İse sıfır veya daha fazlası ile eşleşme işlecini temsil eder.
Soru : Facebook < yazısını veya facebok yazısını yasaklamak istesek yapılcak işlem nedir ?
Cevab : Faceboo?k < olarak almamız , '' o '' harfi 2 sefer yazılsada 1 sefer yazılsada yasaklasın manasını taşır.Yani : '' ? ''(soru işareti ) önündekinin Olsada olur\Olmasada olur sıfatını taşıyor da diye biliriz.Lakin;''KARAKTER'' vazfı bu manasında taşımaz(değişkenlik gösterir)

Anlatım:
^ : Satırın başlangıç noktasını temsil ederi

Soru : Selam < yazısını cümle selam ile başlıyorsa yasaklasın ama cümle ortasında yazılıyorsa yasaklamasın nedir diğe sorsak?
cevap : ^Selam < olarak almamız yeterli olacaktır. yani diyoruz ki Cümle O kelime ile başlasın.Başlangıcı o olcak manasını taşır.
Örnek : serkan selam nbr ? < diye yazılsa yasaklamaz , cünkü cümle bası ''selam'' ile başlamamıştır.
Örnek2: selam serkan nbr? < diye yazıldığında spama takılır ve o yazı çıkmaz.

Anlatım:
$ : Satır sonu noktasını temsil eder.

Soru: Selam < yazısını cümlede ifade edecek olursak yine şayet ve desek ki , cümlenin sonunda selam yazarsa yakalasın , basında ve ortasında yakalamasın diye sorarsak?
cevap: selam$ <diye almamız yeterli olacaktır. yani burda diyoruz ki '' $ '' işareti koyarak,Selam ile bitmek zorundadır diğe garanti (şart) koymuş oluyoruz.
örnek : selam serkan nbr ? < yakalamaz.
örnek2: serkan selam nbr? < yakalamaz.
örnek3: serkan selam < yakalar.

Misalleme : ^ ve $ bir arada kullanmak istersek şayet: cümlede veya aralarda kullanılmasın sadece '' tekil '' yazılırsa yasaklasın dıyorsak ne yapmalıyız.?
Cevab : ^selam$ < almamız yeterli olacaktır.
örnek: selam serkan nbr < takılmaz.
örnek2: serkan selam nbr? < takılmaz
örnek3: selam < takılır.

Anlatım:
{ : Aralık başlatma işlecini temsil eder.
} : Aralık sonlandırma işlecini temsil eder.
(bunların 2 sını bır arada kullanmak zorundayızdır,kullanmaz isek , spamfilter bizi regex hatası ile uyarır)

Soru: Naaaabbbbeeerrr > naber , naaabberr , yazılsada yasaklasın istiyorsak ?
cevab:N{1,}a{1,}b{1,}e{1,}r{1,} : dememiz yeterli olacaktır. ayrıyetten. '' + '' ( artı ) sembolü ile eş değerdir.Çoğaltıcı sıfatını taşır.
Not : Sınırlandırmak içinde kullanılır.
Örnek : Selllma < yazısında , selma takılmasın ama '' L '' harfi 3 kere kullanılırsa takılsın istiyorsak?
Cevap : sel{3}ma < almamız yeterli olacaktır.

Anlatım:
| : Veya işlecini temsil eder.
Alt satırda örneği mevcudtur. Kısacası,devir,pas anlamını taşır.

Anlatım:
( : Grup başlatma işlecini temsil eder.
) : Grup sonlandırma işlecini temsil eder.
(bunların 2 sını bır arada kullanmak zorundayızdır,kullanmaz isek , spamfilter bizi regex hatası ile uyarır)

Soru: cümle icerisinde veya satırlar arasında '' sus , kes , mal , salak , deli '' ıfadeleri geciyorsa yasaklasın istiyorsak ?
Cevap : (salak|kes|mal|deli|sus) olarak eklememiz yeterli olacaktır.
Bunu daha kapsamlı hale veya cümle basında bu yazılar yazılsın ıstıyorsak:
Cevap: ^(salak|kes|mal|deli|sus)
veya Cümle sonunda yazılırsa yasaklasın istiyorsak :
Cevap: (salak|kes|mal|deli|sus)$
Veya Tekil olarak kelime algılasın istiyorsak;
Cevap : ^(salak|kes|mal|deli|sus)$

Syntax anlatımı:

Anlatım:
\< : Bir sözcüğün başındaki boş dizge ile eşleşir.
\> : Bir sözcüğün sonundaki boş dizge ile eşleşir.
\w : Bir sözcüğün öğesi olan herhangi bir karakter ile eşleşir.
\W : Bir sözcüğün öğesi olmayan herhangi bir karakter ile eşleşir.
\` : Bir tampon işlecidir. Tamponun başlangıcındaki boş dizge ile eşleşir.
\’ : Bir tampon işlecidir. Tamponun sonundaki boş dizge ile eşleşir.
\` : Bir tampon işlecidir. Tamponun başlangıcındaki boş dizge ile eşleşir.
\' : Bir tampon işlecidir. Tamponun sonundaki boş dizge ile eşleşir.
\s : Herhangi bir boşluk var anlamındadır.
\S : Herhangi bir boşluk yok anlamındadır.
\d : Herhangi bir sayı var anlamındadır.
\D : Herhangi bir sayı yok anlamındadır.
[ifade] : Liste işlecidir. Öğreğin [aCme] ifadesi a veya C veya m veya e ile eşleşir.
[^ifade]: Liste işlecidir. Öğreğin [^aCme] ifadesi a veya C veya m veya e hariç herhangi
\b : Bir sözcüğün başındaki ya da sonundaki boş dizge ile eşleşir
Örneğin : \baCme\b
\B : Bir sözcüğün içindeki boş dizge ile eşleşir.
Örneğin : \BaCme\Be ifadesi tHeaCme1 ile eşleşir fakat tHe aCme ile eşleşmez

Şimdi en baştaki örnekler vererek anlatalım.Syntax'ları.

\w ile \s 'yi birleştirdiğimizde: (\w\s\w\s){2}
Burda bizde anlatılan sudur: karakter veya harf ardından boşluk tekrardan karakter ve harf ardından boluk varsa yakalasın
örnek : selam takılmaz.
Örnek2: s e l a m < takılır.

\d ile \s yi birleştirdiğimizde : (\d\s\d\s){2}
Burda bizde anlatılan sudur: rakam ve boşluk 2 kez ard arda yazıldığında yasaklasın.
örnek: 12345678 takılmaz.
örnek2: 1 2 3 4 5 < takılır.

\d ile \S yi birleştirdiğimizde: (\d\S\d\S){2}
burda bizde anlatılan sudur: rakam boşluk yok rakam ile devam etmesi gerekir.
örnek: 1 2 3 4 5 6 < takılmaz
örnek2: 12345 < takılır

\W ile \d yi birleştirdiğimizde: (\W\d\W\d){2}
burda bizde anlatılan sudur: karakter rakam 2 kez tekrarlandığında yakalasın.
örnek: numaram 0535555555 ararsın < takılmaz.
örnek2: numaram 0 5 3 555 55 55 ararsın < takılmaz.
örnek3: numaram 0+5+3+5/5/5/55-55 ararsın < takılır.
Cünki rakam ve karakter '' 2 '' den fazla kullanılmıştır.

Ve bir başka bakış acısı :

[:alnum:]->>[0-9a-zA-Z]

[:alpla:]->>[a-zA-Z]

[:ascii:]->>[x01-x7F]

[:blank:]->>[ t]

[:cntrl:]->>[x01-x1F]

[igit:]->>[0-9]

[:graph:]->>[^x01-x20]

[:lower:]->>[a-z]

[rint:]->>[tx20-xFF]

[unct:]->>[-!"#$%&'( )*+,./:;<=>?@[]^_`{|}~]

[:space:]->>[nrt x0B]

[:upper:]->>[A-Z]

Bize burda kaşılığını anlıyacağınız şekilde kısa yol metotunu arz etmiş bulunmaktayım.

örnek: harf ler arasında karakter gecıyorsa yasaklasın.
cevap: [:alpla:]{1,}[unct:]{1,}[:alpla:]{1,}[unct:]{1,}
veya
cevap2: [A-Za-z]{1,}[unct:]{1,}[A-Za-z]{1,}[unct:]{1,}
Burda kısacası en bastaki düz mantık ile açıklıcak olursak:
örnek: selam nbr < takılmaz.
örnek2: s-e(l)+a-m nbr < takılır.

örnek: harfler arasında rakam gecıyorsa yasaklasın.
cevab: [A-Za-z]{1,}[0-9]{1,}[A-Za-z]{1,}[0-9]{1,}
Burda kısacası bastakı düz mantık ile açıklıcak olursak:
örnek: selam 555 555 55 55 ekle < takılmaz.
örnek2: selam 5a5a5 5a5a5 5a5 5a5 < takılır.
Not: 'a 'dan z'ye' kadar her harfı kapsar.


Şimdi : Genel mantık anlatımını kavradığımızı düşünerekten,sizlere bi sınıf daha yukarı çıkması acısından örnekler sunayım.Bu anlatımın ve sembol sisteminin hepsini bir araya toplicak olursak.

örnek: ([0QO])?(be[şŞs]|5)\s?y[uü]z
Burda bizim istediğimiz sudur.Açılımı.
() grup basını acıp kapatmısız ve sonuna '' ? '' koymusuz. bu soru işaretimiz neydi. olsada olur olmasada olur manasını taşır. grub'ta bir butun olduğu için : o grubu olasada olur olmasada olur diğerek satıra başlamısız.
Sonra ; bir grub acarak yine demişiz ki peşinden , '' BEŞ veya 5(rakam)'' yazılırsa onun peşine '' \s '' ne anlama geliyordu ( boşluk ) sonuna ne katmısız '' ? '' işareti yanı boşluk olsada olur olmasada olur diğerekten yüz ( u harfi veya ü harfi ) kullanıla bilir. harlerını devamı kılmısız bu bizi neyi anlatmatadır.

Örnek: cep telefonum sıfır 5yüz ellibeş ..... < yakalar.
örnek2: sıfırbeşyüzellibeş .... < yakalar.
örnek3: beş yüz elli < yakalar.
örnek4: sıfır5 yüz elli beş < yakalar. vb....
örnek5: 0beşyüz < yakalar veya Q5yüz < yakalar.vb....

;----

Örnek : (^|\s)(Q|O|0)?(\s|\W)?(5|b\s?[e€£3e]\s?[şŞs$])(\s|\W)?[4350]\d.?
Şimdi burda anlatılmak istenen nedir.
^ < satır başı demekti.
\s < boşluk demekti değil mi ?
Ne yapmışız. '' | '' işereti ile pas kullanıp satır bası veya satır basından sonra boşluk varsa yakalasın diğerek spam'ı oluşturmusuz.
Nedemisiz : baştan başlıcak olursak:
Sıfır veya Q veya O harflerinden biri varsa sonrasında boşluk '' \s veya \W(karakter) varsa sonrasında , 5(rakam) veya beş < yazısı varsa devamında , 4 veya 3 veya 5 veya 0 bunlardan her hangi biri yazıyor ise sonrasında '' \d '' ( rakam ) manasını taşırdı , rakamla devam edıyorsa yakalasın istemişiz yani.

örnek : selam numaram 0beş35 555 ... < yakalar
örnek2: 0535 55 55 55 < yakalar.
örnek3: 5-5-5 5/5/5 5*5* < yakalar
örnek4: numaram bu ekle 5-5-5 5/5/5 5*5* < yakalar

;---


Örnek: ^([A-Za-z]{1,}|[[unct:]]{1,})?\d{1}([A-Za-z]{1,}|[[unct:]]{1,})?$
Burda istenılen , nedir? satır basından anlatayım.
^ < işareti kullnaraktan satır (cümle veya kelime ) ile başlamak sartındasın.
( < ile grub'u acarak demisiz ki '' a'dan z'ye yazılan herhangı bir harf veya '' | '' ile pas kullnarak , karakter ola bilir vazfını vermisiz ve ) < kullnarak gurubu kapatmısız.
Anlatılan kısım : ^([A-Za-z]{1,}|[[unct:]]{1,})?
Devamı:
\d{1} < rakam kullanılsın ve adeti bir adet olsun demişiz.
Sonrasında , Yine yukarda ki satırın aynısını yapmısız. ve '' $ '' ile sonlandırmısız.
özeti ve kapsama alanı sudur:

örnek:
..5 < yakalar.
a5 < yakalar.
&3 < takalar.
..5.. < yakalar.
a5.. < yakalar.
&3... < takalar.
5a < yakalar.
5.. < yakalar.
3- < takalar.

yani kısacası bizim burda dediğimiz kısım:
karakter veya harf içerisinde , başında veya sonunda., tek rakam varsa alt alta yazıldığında yakalasın istemişiz.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:34.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.


Navbar with Avatar by Motorradforum